PHP 最大実行時間エラーの対処法

画像

PHPとは、オープンソースの汎用スクリプト言語であり、特にWeb開発に広く使われ、HTMLに埋め込むことができる。HTML文書中に記述されたスクリプトをPHPが実行し、その結果を HTMLデータとしてWebブラウザに出力する。また、PHPは大規模な開発にも多く用いられているが、文法が平易なため初心者でも習得しやすいスクリプト言語である。

設定ファイルである[php.ini]は、PHPの起動時に読み込まれる。PHPのサーバーモジュール版では、Webサーバーの起動時に一度だけ読み込まれるが、CGI版と CLI版ではスクリプトが呼び出される度に読み込まれる。

ここでは、PHPの実行中に[ 最大実行時間エラー ]が発生した場合の対処方法を記す。

※ メモリサイズエラーの対処法は、PHP メモリサイズエラーの対処法を参照すること。

最大実行時間エラー発生時の対処法

以下のエラーは、PHPで処理に時間のかかるスクリプトを実行した場合、実行時間をオーバーした時に吐き出される [ 最大実行時間エラー ]である。

Fatal error: Maximum execution time of xxx seconds exceeded in /xxx/xxx.php on line xxx.

※ 上記ブルーの部分は、設定環境によって違ってくる。

● 対処法
PHP設定ファイルで、スクリプトの実行時間を制御する[ max_execution_time ]を、スクリプトがパーサにより強制終了されるまでに許容される最大の時間を秒単位で指定する。
なお、最大時間なしで無制限に使用する場合は[ 0 ]ゼロを指定する。

❶ php.ini[ max_execution_time = 30 ] を変更する。

10分に変更する場合 [ max_execution_time = 600 ]

無制限に変更する場合 [ max_execution_time = 0 ]

❷ プログラム内に追記して変更する場合。

<?php ini_set("max_execution_time",600); ?>

❸ .htaccessを作成または追記して変更する場合。

php_value max_execution_time 600

変更後の設定反映について

上記❶ php.ini の設定を変更した場合は、Apacheを再起動させて再度読み込むと変更後の設定が反映される。また❷は追記プログラムを、❸については作成または追記したディレクトリ内とその下層のディレクトリ内のプログラムを起動させると反映される。


page_top