The specified CGI application misbehaved by not returning a complete set of HTTP headers

yipeiwu_com6年前PHP代码库
是错误报告:
The specified CGI application misbehaved by not returning a complete set of HTTP headers
意思是:(http协议的CGI模式运行不正确)

因为perl脚本的第一句中不支持 -wT 参数,将所有的 -wT 替换成 -w 即可
即:将 #!/usr/bin/perl –wT 替换为:将 #!/usr/bin/perl –w
这是代表php是以CGI模试运行的 在php.ini找到 gi.force_redirect 把前面的分号去掉 把值改成0就行了。

再次运行就可以了,这是PHP另一种运行模式的配置方法

今天遇到的PHP错误

CGI Error
The specified CGI application misbehaved by not returning a complete set of HTTP headers.

最后解决办法是将PHP的CGI方式改为isapi方式。

环境:windows XP SP3+IIS5.1+ActivePerl 5.10.0
安装BugZilla后,配置CGI,运行后错误如下:

CGI Error
The specified CGI application misbehaved by not returning a complete set of HTTP headers. The headers it did return are:

"-T" is on the #! line, it must also be used on the command line at E:\bugzilla-3.4.2\bugzilla-3.4.2\index.cgi line 1.

错误报告:
The specified CGI application misbehaved by not returning a complete set of HTTP headers
意思是:(http协议的CGI模式运行不正确)

因为perl脚本的第一句中不支持 -wT 参数,将所有的 -wT 替换成 -w 即可
即:将 #!/usr/bin/perl –wT 替换为:将 #!/usr/bin/perl –w
这是代表php是以CGI模试运行的 在php.ini找到 gi.force_redirect 把前面的分号去掉 把值改成0就行了。

PS:另外解决办法
修改IIS设置里,主目录选项卡->应用程序设置->选择CGI,之后在添加/编辑应用程序扩展映射名:将CGI可执行文件名写为:
D:\Perl\bin\perl.exe -x -wT “%s“ %s
(注:这里我的Perl安装在D:\Perl目录里)
这个样子就不需要更改BUGZilla的文件了

相关文章

PHP面向对象概念

关键字和特殊变量 new,class,extends。这三个,大家都懂得。 ::,范围解析操作符(也可称作 Paamayim Nekudotayim)或者更简单地说是一对冒号,可以用于访...

PHP中使用mktime获取时间戳的一个黑色幽默分析

下面这段代码是网上大多数人给出的时间戳现实,这个一看便知只能说是取得当前日期,而不能算是时间戳,不用多解释了吧! 复制代码 代码如下: $now = mktime(0,0,0,date(...

PHP解耦的三重境界(浅谈服务容器)

阅读本文之前你需要掌握:PHP语法,面向对象 在完成整个软件项目开发的过程中,有时需要多人合作,有时也可以自己独立完成,不管是哪一种,随着代码量上升,写着写着就“失控”了,渐渐“丑陋接口...

介绍一些PHP判断变量的函数

虽然这一特点使用PHP编程非常容易,但它也存在一个重要的缺陷:当你需要测试一个变量的类型时,处理类型比较松散的语言就让人有些迷惑。幸运地是,PHP的开发者注意到这一情况,因此在其中包含了...

PHP实现发送微博消息功能完整示例

本文实例讲述了PHP实现发送微博消息功能。分享给大家供大家参考,具体如下: <?php $cookie_file = dirname(__FILE__)."/weibo...