免费注册 查看新帖 |

Chinaunix

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

[困惑]eval 在模块中出现问题/? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-01-12 00:08 |只看该作者 |倒序浏览
搞文本Session。。。
已经以为成功。。
想到Session可能会自己损坏。所以。。自己做了测试,结果,发现人为改坏Session文本后,程序居然读取失败后 500 err?
明明是在模块中  CheckSession时候用的eval呀。应该不会500err才是。但是err.log还是指向的那句
  1. eval ( "require \"$self->;{_API}->;{_SESSION_FILE}\";" ) || $self->;NewSession();
复制代码


附上完整代码。 问题就出现在DiGiSession.pm模块中。。。

http://www.easunstudio.com/upload/perl/usr/7/16/cgi_1105459562.rar  



测试代码说明 :
1。Session目录需要可读/写 (777目录+666文件)。
2。我用的相对路径,如果你的主机不支持相对路径,请把
  1. my $session = DiGiSession->;new($c_ss_id,'Session','3m');
复制代码

改成
  1. my $session = DiGiSession->;new($c_ss_id,'你的路径/Session','3m');
复制代码


声明:DiGiSession.pm模块版权为Firzen<firzen@perlchina.org>;所有,我只是改了一点东西而已。呵呵:)

论坛徽章:
0
2 [报告]
发表于 2005-01-12 17:07 |只看该作者

[困惑]eval 在模块中出现问题/?

eval ( "require \"$self->;{_API}->;{_SESSION_FILE}\";" ) || $self->;NewSession();
我怀疑你这句用法就用问题可能,你print $@出来,看看到底什么错

eval {
eval ( "require \"$self->;{_API}->;{_SESSION_FILE}\";" ) || $self->;NewSession();
}
print $@;

论坛徽章:
0
3 [报告]
发表于 2005-01-12 23:19 |只看该作者

[困惑]eval 在模块中出现问题/?

Can't locate object method "NewSession" via package "DiGiSession" at DiGiSession.pm line 49.

是这个。
不加 2级 eval err.log也是这个。指向的那句 就是这句了。

论坛徽章:
0
4 [报告]
发表于 2005-01-13 09:29 |只看该作者

[困惑]eval 在模块中出现问题/?

我确实没有在你的文件里找到NewSession方法啊,只有一个SessionNew,是不是你写错了,你改过莱试试

论坛徽章:
0
5 [报告]
发表于 2005-01-13 16:03 |只看该作者

[困惑]eval 在模块中出现问题/?

err.log说的是 new()函数。。中间的::帖在论坛上被过滤掉了。汗。

论坛徽章:
0
6 [报告]
发表于 2005-01-13 18:01 |只看该作者

[困惑]eval 在模块中出现问题/?

[quote]原帖由 "superdoctor"]我确实没有在你的文件里找到NewSession方法啊,只有一个SessionNew,是不是你写错了,你改过莱试试[/quote 发表:

汗。。回家后仔细检查,果真是这个原因。。
看来半点马虎不得:)
谢谢:)
本帖可以结束了。  
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP