ローカルのXAMPP環境で、処理時間が長いスクリプトにブラウザからアクセスしたら、以下のメッセージでタイムアウトになった。
1 2 |
Fatal error: Maximum execution time of 30 seconds exceeded in C:\xampp\htdocs\lib\foo.php on line 264 |
実行タイムアウトを変更するには
グローバルに変更したければ、php.ini の max_execution_time を変更する。
1 2 3 4 5 |
; Maximum execution time of each script, in seconds ; http://php.net/max-execution-time ; Note: This directive is hardcoded to 0 for the CLI SAPI ;max_execution_time=30 max_execution_time=120 |
特定スクリプトだけ変更したければ、set_time_limit()関数を呼ぶ。引数は秒数。ゼロを指定するとタイムアウト無しになる。
1 2 |
set_time_limit(120); // 120 sec set_time_limit(0); // reset time limit for big files |
参考サイト
PHPスクリプトの実行時間を制御する(max_execution_time) – hogehoge foobar Blog Style5
http://d.hatena.ne.jp/mrgoofy33/20100922/1285168658
いろんな方法がまとめられていてわかりやすい。
PHP: set_time_limit – Manual
http://php.net/manual/ja/function.set-time-limit.php