[Fri Jan 29 20:23:28 2010] [error] [client 23.23.23.23] Premature end of script headers: header.php [Sat Jan 30 10:22:42 2010] [error] [client 23.23.23.23] (8)Exec format error: exec of '/var/www/cgi-bin/header.php' failed
如何解决这个问题? 基本上一个.cgi脚本加载header.php其中包含JavaScript和一些PHP的东西…..
我注意到。CGI脚本运行良好,但没有任何的JavaScript和PHP的东西的工作。
没有更多的信息,任何人都可以做到最好,因为你几乎没有提供任何信息。 这是我的:
你有一个缺less的分号或圆括号,或者在某个地方(或者其他一些分隔符或者包围字符)的大括号,或者是DOS行结尾(\ r \ n),那里应该是Unix的(\ n)。
远射,但尝试添加
AddHandler application/x-httpd-php .php
到你的apacheconfiguration文件。
尝试看看你的web服务器是否有这样的东西,即在Apache中:
ScriptAlias /cgi-bin/ <Directory /cgi-bin/> Options ExecCGI ... </Directory>
强制整个目录是可执行的(就像你试图运行一个python / perl脚本)
如果你有 – 确保你的文件是可执行的(chmod + x …)
在CGI脚本的第一行检查php interperter(也许),如:
#!/usr/bin/php
我有两个想法:
如果您正在运行CGI,您将无法将其分配到您的应用程序的主文件夹,因为像CSS或JS这样的文件将被Apache试图执行,导致AH01215: (8)Exec format error: exec of
在/var/log/apache2/error.log里面AH01215: (8)Exec format error: exec of
ERROR的AH01215: (8)Exec format error: exec of
只为可执行文件创build单独的文件夹,并添加这样的东西到你的/etc/apache2/sites-enabled/sub.domaian.com.conf
<VirtualHost *:80> DocumentRoot "/var/www/html/yoursite" ServerName sub.domain.com <Directory "/var/www/html/yoursite"> allow from all Require all granted </Directory> <Directory "/var/www/html/yoursite/CGI"> Options ExecCGI SetHandler cgi-script </Directory> AddHandler cgi-script .py </VirtualHost>
有趣的是:我有SetHandler cgi脚本分配到主文件夹,并在我的情况下,我可以打开页面没有问题,当我通过局域网访问页面,而不是从广域网。
另一个可能性(所有以前的答案可能也是有效的原因):
在/etc/apache2/php/php.ini
更改这个指令:
ScriptAlias "/phptest/" "/var/www/phptest/"
至
Alias "/phptest/" "/var/www/phptest/"
(所有path由我组成 – 更改为适用于您的服务器设置的值)