コンテンツにスキップ

Top

PHPの処理が60秒でタイムアウトしてしまう

Laravelで時間のかかる処理をしていたら、

local.ERROR: Maximum execution time of 60 seconds exceeded

とか言われてエラーになってしまった。

これはLaravel云々の問題ではなくphpの話。

php.iniのmax_execution_timeとmax_input_timeに時間が定義されているので必要に応じて延ばせばよいです。

max_execution_time = 120
max_input_time = 180
値は「秒」です。

ただ、php.iniは全体にかかわるところなので触りたくない、触れない、というケースもあると思います。

その場合はプログラムの中で、

ini_set("max_execution_time", 120);
ini_set("max_input_time", 180);

と、ini_setをすれば値が暫定で変更されます。
これがどこまで影響を与えるのかがちょっと不明です。
呼び出した関数内でのみ有効、とは思えず、例えば短く設定したためにほかで動いているバッチプログラムがタイムアウトする、みたいなことが起こっても困るので、
基本デフォルト値より伸ばすときのみ使ったほうが良いとおもいます。

以上!