免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 4816 | 回复: 14
打印 上一主题 下一主题

问一个问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-02-28 14:33 |显示全部楼层 |倒序浏览
在http.conf里这样的.
<VirtualHost 68.109.139.5>
        ServerName modil.cititone.net
        ServerAlias modil.cititone.net
        CustomLog /var/log/apache/modil.cititone.net.log combined
        ErrorLog /var/log/apache/modil.cititone.net.err
        DocumentRoot /home/modil/html
        <Location /Modil>
                SetHandler perl-script
                PerlHandler Modil::Main
        </Location>
</VirtualHost>

而我的Modil::Main下是
sub handler {
        my $r = shift;

        my $clientid;
        my %q;

#       $r->no_cache(1);

        if ($r->header_only) {
                $r->cotent_type("text/html");
                $r->send_http_header;
                return OK;
        }
....................

当在IE输入http://modil.cititone.net/Modil
发现是进入了handler方法.
但是.发现$r却没有值.也不知道mod_perl传什么参数过来.

哪位大侠指导一下...$r到底是什么值.从哪传过来的.谢谢

论坛徽章:
0
2 [报告]
发表于 2007-02-28 14:58 |显示全部楼层
原帖由 helbreathszw2 于 2007-2-28 14:55 发表
哦,为什么不debug一下呢


err.log没有错误..

而且调试过..证明进去了handler方法.
但是同时也发现$r没有值..

也就是说mod_perl没有给handler传参数.这个不知道为什么.

论坛徽章:
0
3 [报告]
发表于 2007-02-28 15:57 |显示全部楼层
原帖由 兰花仙子 于 2007-2-28 15:47 发表


$r是个request objective,它本身能有什么值?
你可以自己传几个参数进去看看能不能print就知道了.
改一下:

    my $r = shift;
    my $q = Apache::Request->new($r);

然后:

    my $name = $ ...

首先感谢仙子..
但是..
我加了
my $r = shift;
print "Content-type: text/html\n\n";
print "11111111111111111111";
return OK;
是可以显示出来的.

而加
my $r = shift;
$r->send_http_header('text/plain');
$r->print("11111111111111111");
return OK;
是显示不出来的..证明$r不存在.是不是

而我现在不知道的是.
mod_perl在什么地方给handle传参数.要不要设置什么

论坛徽章:
0
4 [报告]
发表于 2007-02-28 16:41 |显示全部楼层
原帖由 helbreathszw2 于 2007-2-28 16:38 发表
我大概知道你的问题了
不过要等我大号解封,我用大号告诉你
奶奶的,小号真郁闷



太感谢你了..现在告诉我吧
我已经把我能想到的办法都想了..

现在还在debug...痛苦..

论坛徽章:
0
5 [报告]
发表于 2007-02-28 16:49 |显示全部楼层
原帖由 helbreathszw2 于 2007-2-28 16:46 发表
我的helbreathszw大号都快被封了2个星期,我也很痛苦
。。。。。



我就等你大侠救命..
我的能力就到刚才我说的那地方了..
再往下找..就没能力找了.

论坛徽章:
0
6 [报告]
发表于 2007-02-28 17:49 |显示全部楼层
原帖由 兰花仙子 于 2007-2-28 17:46 发表


1) 你的apache有装mod_perl吗?
2) 有在文档目录下创建一个Modil目录吗?
3) mod_perl能找到Modil::Main模块吗?



第一点是肯定有的.因为有其他同样类型的项目在上面运行.
第二点也是有的.
但第三点怎么去检查??
仙子请教

论坛徽章:
0
7 [报告]
发表于 2007-02-28 17:52 |显示全部楼层
原帖由 helbreathszw 于 2007-2-28 17:41 发表
perl -MModil::Main
瞧瞧有反应不



大哥..perl -MModil::Main吗?..

好像有问题..

还是perl -M Modil::Main?

论坛徽章:
0
8 [报告]
发表于 2007-02-28 17:55 |显示全部楼层
原帖由 兰花仙子 于 2007-2-28 17:51 发表

看看error_log里有没有报错?找不到这个模块在日志里有提示的..
另外任何模块的改动(除了registry脚本),都要apachectl stop完全stop再apachectl start.



error_log里面没报错.之前是报Undefined subroutine &Modil::Main::handler called.\n
现在没有了
仙子我都是用/etc/init.d/apache restart的..你说只能stop 然后start对吧

论坛徽章:
0
9 [报告]
发表于 2007-02-28 17:57 |显示全部楼层
原帖由 helbreathszw 于 2007-2-28 17:54 发表
就是perl -MModil::Main
你可以试验perl -MLWP



大哥.
我在根目录下用了perl -MModil::Main

结果出来了speedy[23637]: Missing script filename.  Type "perldoc CGI::SpeedyCGI" for SpeedyCGI documentation.
是不是有问题..??

论坛徽章:
0
10 [报告]
发表于 2007-02-28 17:58 |显示全部楼层
原帖由 兰花仙子 于 2007-2-28 17:56 发表


yes,restart没有用的...


还是原来一样.仙子
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP