ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

php – fastcgi-script处理程序返回无效的结果代码

2019-06-28 18:28:51  阅读:147  来源: 互联网

标签:php character-encoding soap-client


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

上一条信息:带有php5-fcgi模块的Apache服务器2.4.
我正在为SOAP服务的客户端工作,我可以为服务做一些请求.

该请求需要一些时间才能完成.我需要做一个set_time_limit(60),因为如果我没有它,脚本会返回空闲超时错误:

FastCGI: comm with server “/usr/lib/cgi-bin/php5-fcgi” aborted: idle
timeout (30 sec)

使用set_time_limit,我得到另一个不同的错误:

AH00524: Handler for fastcgi-script returned invalid result code 1

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

在日志中出现此错误,我在导航器上有另一个不同的错误.在IE上,页面没有加载,Firefox显示“内容编码错误”页面.

如果我尝试在屏幕上显示SOAP连接结果(使用var_dump),并且,如果我尝试执行请求但不将其发送到屏幕,则会出现这些错误.

试图搜索“内容编码错误”,我发现了一些有关压缩的内容.我试过在set_time_limit之前和之后做“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请求长于使用idle-timeout参数设置的时间引起的.如果未设置,则默认值为30秒.

mod_fastcgi documentation

-idle-timeout n (30 seconds)
The number of seconds of FastCGI application inactivity allowed before the request is aborted and the event is logged (at the error
LogLevel). The inactivity timer applies only as long as a connection
is pending with the FastCGI application. If a request is queued to an
application, but the application doesn’t respond (by writing and
flushing) within this period, the request will be aborted. If
communication is complete with the application but incomplete with the
client (the response is buffered), the timeout does not apply.

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

[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.

标签:php,character-encoding,soap-client
来源: https://codeday.me/bug/20190628/1318307.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有