免费注册 查看新帖 |

Chinaunix

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

perl FCGI偶尔报一些函数,方法不存在,一直困扰,求助。 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-12-09 17:20 |只看该作者 |倒序浏览
如题,基于FCGI 0。67这个模块开发的FCGI应用,其他一切正常,唯独有2个很怪异的问题,一直找不到原因,只有来这里求助各位老大。

1)报某个函数没有从包里import或没找到

有一个包 Ext::Utils里有个函数sub sort2name { xxx },并且已经通过@EXPORT将函数导出模块了,在CGI模式下从未报错,调用的方式:

use EXt::Utils;

xxxxx
xxxxx

sort2name($parameter);

xxxx


换成FCGI模式(利用FCGI::OpenSocket 打开一个tcp端口的方式)配合nginx 或apache,就时不时报这个sort2name在Ext::Utils包里找不到。

这是在太怪异了。很长一段时间都无法解决。后来直接将这个函数定义,复制到调用它的模块里面才消除,这是在。。。

2)忽然报包里没有某个方法

有一个包叫Ext::CGI,里面有个方法allfiles,在原来1)故障没修复前从未出现问题,修复后有一天忽然一个用户发图片过来,说程序报错了,报:

在Ext::CGI中调用了一个不存在或没定义的方法 allfiles

这可就冤枉大了,明明是有这个方法的。程序的调用方法:

use Ext::CGI;

my $q = Ext::CGI->new;

xxxxx

$q->allfiles;

xxxxx



上述2个问题,都出现在FCGI + tcp 监听 + nginx/apache的方式下,如果是由apache + mod_fastcgi直接调用fcgi脚本的方式,似乎还没有碰过。

不知道路过的大侠见过这种怪异问题没有?真的有点崩溃了。

[ 本帖最后由 hzqbbc 于 2009-12-9 17:22 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2009-12-09 22:20 |只看该作者
太细节了,虽然我也用FCGI 0.67,但没有用过这样的模块,用lighttpd 做服务器,却没有报过错。

论坛徽章:
0
3 [报告]
发表于 2009-12-10 12:09 |只看该作者
感谢楼上答复,这个问题确实是很细节的地方报的。我认为并不是那个模块的问题,要么是FCGI引起perl解析器出毛病,或者是什么缘故。即使是类似Ext::Utils::sort2name($parameter)的方式调用,有时都会报错说Ext::Utils::sort2name()函数找不到或没定义,真的有点欲哭无泪。

希望斑竹老大给点建议

论坛徽章:
0
4 [报告]
发表于 2009-12-10 19:06 |只看该作者
友情帮顶
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP