今天调式PHP程序时,发现后台会自动停止运行,尝试设置过max_execution_time,但无效,
后台无任何日志,前台提示如下
net::ERR_INCOMPLETE_CHUNKED_ENCODING 200 (OK)
后面设置了一下request_terminate_timeout成功跑完PHP后台程序
这边作一下关于PHP超时运行相关的记录
PHP-FPM 模式下PHP超时
PHP-FPM 模式,max_execution_time 参数不能完全控制,其控制的是进程的CPU占用时间, 默认值30秒;
真正起作用的是 php-fpm.conf 里的request_terminate_timeout
其的含义是
The timeout (in seconds) for serving a single request after which the worker process will be terminated; 默认值0,即off;
既然 request_terminate_timeout = 0 & max_execution_time = 30s ,那么默认情况下
很难准确地说 PHP 脚本在被 PHP FPM 终结掉前,到底执行时间是多少秒。
set_time_limit()函数和配置指令 max_execution_time只影响脚本本身执行的时间。
任何发生在诸如使用 system()的系统调用,不包括流操作,数据库操作等的脚本执行的最大时间,当该脚本已运行。
PHP::Stomp 的(每次)连接超时时间=默认值 60秒;(一般设置2