这意味着cgi脚本没有正确执行。 有几个原因可能会产生这个错误,所以需要检查几件事情。
1)检查/ var / log / httpd / suexec_log。 它包含由于文件没有正确权限而导致的任何错误。 该文件需要位于cgi-bin中,并且必须拥有所有者/组作为拥有该站点的用户名。 如果它由其他人所有,则不会运行。 另外,该脚本必须具有执行权限。 最常见的chmod权限是755.浏览public_html中的所有目录到脚本所在的目录,并确保它们全部设置为755(public_html只能为750 *,如果它有一组apache)。
如果suexec_log仅显示正在运行的脚本,则原因可能与脚本代码本身有关。 找出脚本编码问题的最简单方法是首先从ssh提示符手动运行脚本。
cd /home/username/domains/domain.com/public_html/cgi-bin
./script.cgi
#!/usr/bin/perl
和:#!/usr/local/bin/php
此代码必须出现在脚本的第一行。 有时文件以windows格式上传,所以尾随的换行符(返回)字符形成不正确,文件需要以不同的格式重新上传。
当从ssh手动运行脚本时会产生的其他错误将会丢失perl模块,在这种情况下,您需要自己安装它们。 Cpan是安装新perl模块的最简单方法,例如:
perl -e shell -MCPAN
install Bundle::DBD::mysql
perl -MCPAN -e 'install Bundle::DBD::mysql'











