PHPの時間がかかるスクリプトでset_time_limit(0)を記述し、タイムアウトしないでほしかったのですが
実際に動かしてみると、画面に「maximum execution time of 30 seconds exceeded」が吐き出されてしまいました。
php.iniにはmax_execution_time=30がセットされております。
また、該当スクリプト中には他にこの設定を操作する記述はなく。もちろん.htaccessにも記述はありません。
phpinfoでも確認してみましたがlocal valueはきちんと「0」になっていました。
この条件の中でなぜこのタイムアウトのエラーが表示されてしまうのか見当がつかなかったため
考えられる可能性など、知恵をお借りしたいです。
※webサーバやブラウザが原因の可能性もあればそれも教えていただけると助かります。
<追記>
// 最大実行時間の設定 set_time_limit(0); // データ配列を作成 $AR = array(); // 実際は別ファイルにてCSVをアップロードし配列に整形している // データ検査 function events_ck_ditail($AR) { foreach($AR as $key => $value){ // データの型や形式、DBとの整合性などを検査 } return; } function events_regist() { global $AR; foreach($AR as $key => $AR_record){ $hash = array(); // 1行ずつ検査 $res = events_ck_ditail($AR_record); // 問題がなければDB登録 if($res !== false){ // DB登録処理 } } return; }
PHP Version 5.3.3
set_time_limit(60)と記述すれば60秒でタイムアウトしました。
回答2件
あなたの回答
tips
プレビュー