我正在使用php-fpm并设置了terminate_timeout = 3来停止任何运行的脚本超过3秒,这非常有效。
然而,偶尔,我会有一个需要运行时间更长的PHP脚本,例如,它正在访问需要一些时间才能返回的第三方计费API。
有没有办法让脚本覆盖php-fpm的默认超时并要求更长的时间?
答案 0 :(得分:0)
php-fpm.conf
中无法访问ini_set()
中声明的选项(以及为fpm 池定义的选项)。然而,
创建两个具有不同选项的池(注意两个不同的端口)
(通常在/etc/php5/fpm/pool.d/
)
[pool1]
listen = 127.0.0.1:9000
request_terminate_timeout = 0
...
[pool2]
listen = 127.0.0.1:9001
request_terminate_timeout = 10s
...
你也可以使用set_time_limit函数(从核心开始,它在PHP安全模式下不起作用)
(我猜测(没试过)如果它的值< set_time_limit)