1

私はphp-fpmを使用しており、terminate_timeout = 3を設定して、実行中のスクリプトが3秒以上かかるのを停止しています。これはうまく機能します。

ただし、場合によっては、もう少し長く実行する必要があるphpスクリプトがあります。たとえば、サードパーティの課金APIにアクセスしているため、戻るのに時間がかかります。

スクリプトがphp-fpmのデフォルトのタイムアウトをオーバーライドして、もう少し長い時間を要求する方法はありますか?

4

1 に答える 1

0

で宣言されたオプションは、 (fpmプールに定義されたオプションとともに)php-fpm.confから到達できません。でも、ini_set()

  • 別のプールを作成する

異なるオプションで2つのプールを作成します(2つの異なるポートに注意してください)
(通常は/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オプションを削除する必要があると思います(試していません)。 <set_time_limit)

于 2013-01-22T18:38:52.877 に答える