![脚本过早结束和执行格式错误](https://linux22.com/image/504576/%E8%84%9A%E6%9C%AC%E8%BF%87%E6%97%A9%E7%BB%93%E6%9D%9F%E5%92%8C%E6%89%A7%E8%A1%8C%E6%A0%BC%E5%BC%8F%E9%94%99%E8%AF%AF.png)
[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 脚本会加载包含 javascript 和一些 php 内容的 header.php.....
我注意到 .cgi 脚本运行良好,但是 javascript 和 php 都无法运行。
答案1
由于您几乎没有提供更多信息,因此任何人在没有更多信息的情况下所能做的最好的事情就是猜测。这是我的猜测:
您可能在某处缺少分号、括号或花括号(或其他分隔符或方括号字符),或者在应为 Unix 行尾(\n)的地方出现了 DOS 行尾(\r\n)。
答案2
可能性不大,但可以尝试添加
AddHandler application/x-httpd-php .php
到你的 apache 配置文件。
答案3
尝试查看你的 Web 服务器是否有类似这样的内容,即在 Apache 中:
ScriptAlias /cgi-bin/
<Directory /cgi-bin/>
Options ExecCGI ...
</Directory>
强制整个目录可执行(就像您尝试运行 python/perl 脚本一样)
如果有的话 - 请确保您的文件是可执行的( chmod +x ... )
并在 CGI 脚本的第一行检查 php 解释器(可能),例如:
#!/usr/bin/php
答案4
我有两个想法:
- 也许您的 php 文件存在权限问题。请确保它具有所有者和组的正确权限。
- 也许您混合了 html 标题和正文元素。请确保您在正确的位置包含了 php 文件。