php でタイムアウト
実行タイムアウト
phpで作成したWebプログラムがFatal error: Maximum execution time of 30 seconds exceeded in
などというエラーで停止してしまいました。
グーグル先生に訊いたところによると
/etc/php.iniの以下の設定値が
max_execution_time = 30
max_input_time = 60
になっているからだそうで、
まぁ、実際にみてみたところ、debian etchでは、
/etc/php5/apache2/php.ini
;;;;;;;;;;;;;;;;;;;
; Resource Limits ;
;;;;;;;;;;;;;;;;;;;
max_execution_time = 30 ; Maximum execution time of each script, in seconds
max_input_time = 60 ; Maximum amount of time each script may spend parsing request data
memory_limit = 16M ; Maximum amount of memory a script may consume (16MB)
となっていました。ちなみに(phpコマンド用は、/etc/php5/cli/php.ini)
max_execution_time
スクリプトがパーサにより強制終了されるまでに許容される最大の 時間を秒単位で指定します。この命令は、いい加減に書かれた スクリプトがサーバーの負荷を上げることを防止するのに役立ちます。 デフォルトでは、30 に設定されています。
max_input_time
スクリプトが POST、GET そしてファイルアップロードなどの入力を パースする最大の時間を、秒単位で指定します。
システム全体を変えたくはなかったので、
ini_set("max_execution_time",120);
ini_set("max_input_time",120);
を指定しました。秒数がゼロの場合は、無制限。
カテゴリ内の記事
- php でタイムアウト(2009/07/09)
- docomoのcssに対応する。。。(2009/08/27)
- PHP + CSV + SSL + IE でダウンロードできない(2010/04/13)
