Gateway
Timeout错误,原来PHP-Fcgi与isapi不同的设置执行时间
一般情况下,PHP脚本设置超时时间
一、在php。ini里面设置php指定时间执行某任务。
max_execution_time二、通过PHPini_set
函数设置
ini_set("max_execution_time",
"");php时间转换成时间戳。
三、通过set_time_limit
函数设置
set_time_limit();
PHP-Fcgi下PHP执行时间设置方法
昨日,一个程序需要导出条数据,发现条是,Nginx报出按时 自动执行 php。
Gateway
Timeout错误
经观察,发现超时约30秒,php。ini执行时间配置已为秒:php定时执行。
复制代码
代码如下:
max_execution_time再次检查nginx的相关配置,无果。
写一个php测试页再测试定时执行任务的php。
复制代码
代码如下:
echo
'aaa';执行php代码。
set_time_limit(0);
sleep(40);
echophp代码没执行。
'aa';
还在加班,可以确定set_time_limit该函数**。
再查php-fcgi的配置php-fpm。conf,下面的设置疑似有问题php代码执行过程。
复制代码
代码如下:
<VALUE
name="request_terminate_timeout"></VALUE>
查官方文件:http://php-
复制代码php自动执行任务。
代码如下:php执行js的代码。
request_terminate_timeoutThe
timeoutseconds)servingsingle
request将php源码加密不影响执行。
after
whichworkerphp执行命令。
process
willterminated。
Shouldused
whenphp取时间。
'max_execution_time'optionphp设置时间。
doesstop
scriptphp获取时间戳。
executionsome
reason。
Default:
"5s"。
Note:
'0s'php时间戳。
means
'off'
大意是phpset_time_limit如果php在设定时间内没有完成,那么这里的配置,即request_terminate_timeout=30秒。
首先改变这个参数和phpset_time_limit值一样,都是秒,还不行,不明白为什么,如果高手知道请教。
最终把request_terminate_timeout关闭,程序可以正常执行,问题可以解决
复制代码
代码如下:php输出时间。
<VALUE
name="request_terminate_timeout">0s</VALUE>
补充:如果前端nginx服务器采用upstream负载平衡,则需要修改负载平衡配置中的以下参数当前时间12点 php。
复制代码打印**时间php。
代码如下:php什么时候出来的。
proxy_connect_timeoutproxy_send_timeoutproxy_read_timeoutphp程序。
中企动力是一家专业的网络推广公司,我们拥有丰富的网络推广经验和专业的团队,能够为企业提供全方位的网络推广服务。我们为企业提供网站建设、网站优化、平台推广等服务,帮中企动力业在网络上提升知名度、扩大影响力、提升销售额。如果您有网络推广的需求,欢迎联系中企动力加微信:CE4006608066,我们将竭诚为您服务。