PHP処理のタイムアウト対策

PHPでは処理に時間がかかると以下のようなエラーで出る場合があります。
PHPエラー

Fatal error: Maximum execution time of 30 seconds exceeded in xxxx

設定時間以上に処理の応答が戻らないとエラーを表示して処理を停止します。

対処方法1

php.iniにあるタイムアウト時間の設定を変更します。
XAMPPやMAMPを使用している場合は簡単に設定を変更できますが、その環境で動作するすべてのPHPプログラムに値は反映されます。

max_execution_time = 30    ←初期値は30秒です
↓
max_execution_time = 120

対処方法2

Apacheの設定ファイルhttpd.confもしくは.htaccessにタイムアウト時間の設定をします。
WordPressを使っている場合、.htaccessはインストールしたWordPressのルートにあります。
レンタルサーバなどを使用していてphp.iniの設定を変更できない場合に有効です。

php_value max_execution_time 120

対処方法3

特定のプログラムだけに反映させたい場合は、PHPファイル先頭に以下の処理を記載して設定します。

<?php
set_time_limit(120);
?>

シェアする