如何在Perl CGI脚本系列中创建和维护会话?

时间:2010-01-04 08:18:28

标签: perl apache session cgi

我是CGI-Perl和会员的新手。我在运行以下代码时遇到问题。

我有四个文件 1. Session.html或Session.pm 2. name.pl 3. hobbies.pl 4. job.pl

Session.pm位于/ var / www / html文件夹中,其余文件放在/ var / www / cgi-bin / session文件夹中。

我有一个基本的html文件(Session.html),它有一个指向perl脚本的链接,它会出现以下错误

[Mon Jan 04 14:21:24 2010] [error] [client ::1] Options ExecCGI is off in this directory: /var/www/html/name.pl, referer: http://localhost/Session.html
[Mon Jan 04 14:21:29 2010] [error] [client ::1] Options ExecCGI is off in this directory: /var/www/html/name.pl, referer: http://localhost/Session.html
[Mon Jan 04 14:22:42 2010] [error] [client ::1] (13)Permission denied: exec of '/var/www/cgi-bin/session/name.pl' failed, referer: http://localhost/Session.pm
[Mon Jan 04 14:22:42 2010] [error] [client ::1] Premature end of script headers: name.pl, referer: http://localhost/Session.pm

请帮我执行上面的例子。请给我从一开始就要遵循的步骤。

1 个答案:

答案 0 :(得分:4)

  

...选项ExecCGI在此目录中关闭:/var/www/html/name.pl, ...

此错误指向尝试在/ var / www / html /而不是/ var / www / cgi-bin / session /

中运行name.pl

您发布的Session.html是否正确,因为它似乎与此错误不符?

  

...(13)权限被拒绝:'/var/www/cgi-bin/session/name.pl'的执行失败,......

name.pl无法运行,因为它没有设置执行权限(在Linux / Unix上需要chmod a+x name.pl)。


您可能需要显示Session.pm的作用(看起来您不像在这里使用CPAN模块Session)。

总的来说,我会考虑将您正在做的事情简化为一个简单的HTML&首先是CGI脚本并使其正常工作。然后开始研究会议等。

查看Ovid's CGI Tutorial有关Perl / CGI主题的一些sage建议。

/ I3az /