我已经安装了Apache . 我在localhost中使用PHP编写脚本 . 需要知道如何运行perl脚本 . 我已经安装了sudo aptitude install libapache2-mod-perl2我在我的/ var / www / cgi-bin中创建了一个目录名cgi-bin,在这个文件夹里面我保存了我的perl脚本perl_1.pl给出了目录权限 . 我还需要做什么来运行脚本????我只需输入http://localhost/cgi-bin/并收到错误403您无权访问此服务器上的/ cgi-bin / . 请帮忙!!
谢谢
3 回答
你无法阅读cgi-bin的内容 . 您必须直接引用其中的一个脚本,在这种情况下:http://localhost/cgi-bin/perl_1.pl
除此之外,请确保在httpd.conf中实际处理您的cgi-bin /目录 .
哦,以防万一你偶然发现500:确保你的perl脚本打印出一个有效的HTTP头 . 这可以通过以下方式轻松实现:
正如Pwex所指出的那样:确保你的脚本设置了可执行位 .
...应该在大多数情况下都有效
另外,为了将来参考,值得一提的是mod_perl,因为在获得cgi perl apache的基础知识后,这是一个自然的下一步 . 详细介绍它将超出这个答案的范围,但我想我会提到它,以便你知道下一步,当你已经确定基础知识以及看到cgi的局限性 .
您的Apache配置如何?您是否确定要告诉Apache在cgi-bin目录中执行CGI脚本?
就像是:
如果您没有绑定到apache或者可以在不同的端口上运行这些脚本,那么您可以使用具有解决方案的Plack / PSGI工具链来运行旧的CGI脚本作为PSGI应用程序 . 有几种方法,请参见Running CGI scripts on Plack .