PHP – Fatal error: Maximum execution time of 30 seconds exceededが起きる場合

無限ループなどを避けるためにPHPのタイムアウト時間が設けられています。
デフォルトは30秒
これを回避するのにいくつか方法があります。

 

php.iniに設定

 

php.iniに以下を追記します。

max_execution_time = 120

 

httpd.confや.htaccessに設定

 

こちらも同じように以下を追記します。

php_value max_execution_time 120

 

phpファイル個別に設定

 

phpファイルの先頭に以下を追記します。

set_time_limit(120);

 

タイムアウトの無制限

 

値を0に設定すれば、タイムアウトを無制限に設定できます。
が、無限ループに陥るとkillするまで永久に動き続けますし、APレイヤより前のhttpdやFW、プロキシ、ブラウザなどでもタイムアウトがあるでしょう。
また、レンタルサーバの場合はkillされることもあると思いますので、重い処理は分割したり、コードをチューニングするなどの工夫が必要です。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です