たとえば、Apache で PHP を実行しているとします。誰かがクライアント リクエストを行った場合 (方法は関係ありません)、クライアントが待機する時間 (スクリプトの実行時間) を定義するものは何ですか? このオプションは、Apache、PHP、またはクライアント自身によって定義されていますか? また、スクリプトが curl 経由で呼び出された場合はどうなりますか?
2 に答える
PHP を参照set_time_limit()
スクリプトの実行を許可する秒数を設定します。これに達すると、スクリプトは致命的なエラーを返します。デフォルトの制限は 30 秒です。存在する場合は、php.ini で定義されているmax_execution_time値です。
ご注意ください:
この関数は、PHP がセーフ モードで実行されている場合は効果がありません。セーフ モードをオフにするか、php.ini で時間制限を変更する以外に回避策はありません。
max_input_time (php.iniで設定) にも興味があるかもしれません
これは、スクリプトが POST や GET などの入力データを解析できる最大時間を秒単位で設定します。これは、サーバー上のすべてのデータを受信した瞬間からスクリプトの実行が開始されるまで測定されます。
で定義されphp.ini
、パラメータは と呼ばれmax_execution_time
ます。
set_time_limit
, ini_set
OR in でphp.ini
直接変更できます 。
しかし、実際にあなたが求めているのは
クライアントが待機する時間、スクリプトの実行
そして私見、それは無限です。サーバーがスクリプトを実行していて、ブラウザが待機を拒否した瞬間を見たことがありません。主な目的は、スクリプトをサーバー上で実行し続けることです。