我以前有过使用mac设置多个Perl程序的经验,但今天遇到了一个奇怪的情况。
我删除了一个现有的Perl文件夹并从GitHub下载,当我再次尝试运行时,它显示以下错误:[处理此指令时出错]。
所以,我要调试的是:
1)我创建了test.shtml(这里显示箭头符号的一些问题)
#exec cgi="/Users/lion/htdocs/app/cgi-bin/test.pl"-->
2)我创建了test.pl
#!/usr/bin/perl
print "content-type: text/html \n\n";
print "test";
3)我创建了一个新的htaccess
AddType text/html .shtml
AddHandler server-parsed .shtml
4)我将test.pl权限设置为777
5)我用http://app.local/test.shtml进行了测试 - >出现错误[处理此指令时发生错误]。
6)如果我从控制台手动运行,它运行正常。
这也是我的apache配置。
<VirtualHost *:80>
DocumentRoot "/Users/lion/htdocs/app"
ServerName app.local
ScriptAlias /cgi-bin/ "/Users/lion/htdocs/app/cgi-bin/"
</VirtualHost>
我的apache错误日志显示:
[Wed Nov 09 16:45:25 2011] [error] [client 127.0.0.1] invalid CGI ref "/Users/lion/htdocs/app/cgi-bin/test.pl" in /Users/lion/htdocs/app/test.shtml
不确定我错过了什么,我的其他Perl程序运行得很好。用尽了导致问题的想法。
答案 0 :(得分:3)
答案 1 :(得分:0)
好吧,花了一些时间进行调试后,发现原因是在cgi-bin中使用身份验证的.htaccess,它会阻止重定向。