PHP実行時間が長すぎてエラーになる時の対応方法

120回近くループさせてたら怒られた(´・ω・`)

Fatal error: Maximum execution time of 30 seconds exceeded

PHPはデフォルトだと、30秒以上スクリプト実行してると強制終了されてしまうみたい。

php.ini の max_execution_time を延ばすか、set_time_limit( int seconds ) をスクリプト内に記述するしかないとか。

amazon への SOAP リクエストが毎秒1コールに制限されているので、sleep(1); をスクリプト内に記述してるんだが、1コールで10件までしか検索結果を呼び出せないので、ループさせてキーワードに対応するデータをとってきてDBに落としてみる。一般的な単語だと、検索結果が100ページを越すので、最低でも100秒かかっちゃうので、 set_time_limit(300); と記述したらうまくいった。ほんとにダメなスクリプト書いちゃったときに max_exection_time を増やしてたらなんか怖いのでデフォルトの30秒のままにしといた。

EDEN600MHz サーバいつ公開できるかなぁ。

120ページの約1200件のデータは、EDENタソにとって5分で処理するには多すぎたみたいorz 30分くらいにして夜中cron で実行させるかな・・・

コメント

コメントを残す

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