Php fastcgi脚本的处理程序返回了无效的结果代码

Php fastcgi脚本的处理程序返回了无效的结果代码,php,character-encoding,soap-client,Php,Character Encoding,Soap Client,我对连接到SOAP 1.2+WSDL服务的PHP应用程序有一个奇怪的问题: 以前的信息:带有php5 fcgi模块的Apache服务器2.4。 我正在为一个SOAP服务开发一个客户端,我可以为该服务做一些请求 这个请求花了一些时间才完成。我需要设置时间限制(60),因为如果没有,脚本将返回空闲超时错误: FastCGI:comm-with-server“/usr/lib/cgi-bin/php5 fcgi”中止:空闲 超时(30秒) 在设置时间限制时,我遇到了另一个不同的错误: AH00524:

我对连接到SOAP 1.2+WSDL服务的PHP应用程序有一个奇怪的问题:

以前的信息:带有php5 fcgi模块的Apache服务器2.4。 我正在为一个SOAP服务开发一个客户端,我可以为该服务做一些请求

这个请求花了一些时间才完成。我需要设置时间限制(60),因为如果没有,脚本将返回空闲超时错误:

FastCGI:comm-with-server“/usr/lib/cgi-bin/php5 fcgi”中止:空闲 超时(30秒)

在设置时间限制时,我遇到了另一个不同的错误:

AH00524:fastcgi脚本的处理程序返回了无效的结果代码1

当我尝试执行SOAP请求时,会出现这些错误。没有它,页面工作正常

由于日志上有此错误,我在navigator上有另一个不同的错误。在IE上,页面未加载,Firefox显示“内容编码错误”页面

如果我尝试在屏幕上显示SOAP连接结果(使用var_转储),以及尝试执行请求但未将其发送到屏幕,则会出现这些错误

试图搜索“内容编码错误”,我发现了一些关于压缩的信息。在设置时间限制之前和之后,我都尝试过执行“ob_start”,但是,当我尝试这样做时,我在日志中得到了一个超时错误(我认为PHP没有更改超时),并且,页面显示了一个500内部服务器错误

有什么问题吗?我认为解决这些问题的唯一选择是Apache和php5 fcgi模块之间的超时,但我不知道如何修改此选项以尝试其他选项


编辑:

我在同一台机器上有两台服务器,Apache2(2.4.10)+php5 fcgi(5.6.2)(HTTP端口80,HTTPS端口443)和Nginx(1.6.2)+php5 fcgi(HTTP端口8080)

使用Apache2测试的同一页面在HTTP和HTTPS上不起作用(错误在顶部描述)。然后,我尝试使用Nginx(相同的webroot,理论上相同的php5 fcgi配置)进入,然后正常运行


谢谢,

使用fastCGI时,大多数情况下,空闲超时错误是由于CGI请求的时间长于使用空闲超时参数设置的时间造成的。如果未设置,默认值为30秒

从:

-空闲超时n(30秒) 在请求中止并记录事件(在错误时)之前允许的FastCGI应用程序不活动的秒数 日志级别)。不活动计时器仅适用于连接 与FastCGI应用程序挂起。如果请求排队到 应用程序,但应用程序没有响应(通过编写和 刷新)在此期间,请求将被中止。如果 与应用程序的通信已完成,但与 客户端(响应已缓冲),超时不适用

在日志文件中,您可以看到如下内容:

[fastcgi:error] FastCGI: comm with server "/var/www/bin/php-fastcgi" aborted: idle timeout (30 sec), referer: http://example.org/script.php
在网络浏览器中,您会收到“内容编码错误”消息

为了避免此错误,可以在fastCGI配置中增加空闲超时

FastCgiConfig -idle-timeout 900
因此,通过增加空闲超时,您不再需要使用set_time_limit