1

我正在使用 php-fpm 并设置了 terminate_timeout=3 来停止任何运行时间超过 3 秒的脚本,效果很好。

但是,有时,我会有一个需要运行更长时间的 php 脚本,例如,它正在访问需要一些时间才能返回的 3rd 方计费 API。

脚本有什么办法可以覆盖 php-fpm 的默认超时并要求更长的时间?

4

1 回答 1

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 安全模式下不起作用)
    (我猜(没有尝试)如果它的值在这种情况下应该删除 php-fpm request_terminate_timeout 选项<设置时间限制)

于 2013-01-22T18:38:52.877 回答