忘れる前に覚書。優しい文章を目指します。
ザ・覚書 ザ・覚書
出来るだけ子供にも、わかりやすいように書いて行きたいと思います。

PCバージョンでサイトを表示しています。
【ザ・覚書 3クリックアンケート実施中】
暑さの一番の原因はなんだと思いますか?
あなたの支持する政党はどの党ですか?

PHP 長い処理が止まってしまう場合 time of 30 seconds

☆PHP 長い処理が止まってしまう場合 time of 30 seconds
今のページの関連ページのリストへ
ザ・覚書のトップページに戻る

PHPに詳しい方なら当然の事なんでしょうけど、ちょっと手間取ったので覚書です。

あるちょっとだけ重いバッチ処理を1日に1回だけ行っているのですが、
それが突然、途中で中止するようになりました。

C言語の方が慣れているので、こういう場合、
変数の最大や配列の大きさオーバーなのかなと、ジローとソースを眺めていたんですが、
別に問題なさそうです。

そこでやっとサーバーのエラーログを見ると、
該当ソースファイルに、

「Maximum execution time of 30 seconds exceeded」
とありました。

「30秒の最大実行時間を超え」
ての事です。

どうやらタイムアウトっぽいです。

C言語とかのスタンドアローンの作り方で慣れているので、
Cでは、通信系のプログラムでなければ、処理が遅いというだけで、
タイムアウトにはならないので、パッと気がつきませんでした。

PHPのサーバーにはタイムアウトというのも設定されているんだなあと知りました。

ちょっと処理数が増えたので、今までのデフォルトの30秒以内では終わっていないとの
事のようです。

そこで、コードに

set_time_limit(60); // 長い処理の場合、タイムアウトしてしまうので設定する必要がある。

という関数を追加で、60秒にして対処出来ました。

引数は、秒のようです。

ちょっと勉強になりました。



記述:2013年10月頃





Twitter Facebook Google+ はてな Pocket LINE




一言掲示板です。なにかありましたら以下に書いて書き込みボタンを押して下さい。
管理人による書き込みの確認後、荒らし書き込みでない場合に表示させていただきます。
悪意ある書き込みや挑発的な書き込みと思われる内容は、表示させません。
その為、ちょっと書き込みから表示までに時間がかかってしまいます。ご了承下さい。

お名前

コメント




文字列関連
PHP テキストファイル内容を読み込んだ時等 改行を削除
PHP fopen関数で半角スペースが間にあるファイルは認識できない?
PHP CSVファイルを扱う為の関数の1つ
PHP array_multisort関数で複数配列を一気にソートする
PHP 気が付きにくいコーディングミスの一例
PHP ファイルがあるかないかを判断する関数で悩む
PHP 配列の初期化(使い回し配列の)
PHP 長い処理が止まってしまう場合 time of 30 seconds
その他
サーバー関連 ページの表示を早くする為に、ブラウザのキャッシュを活用
サーバー関連 Apacheアップデート、CGIからFastCGI「.htaccess」とかの変更例
【ザ・覚書 3クリックアンケート実施中】
暑さの一番の原因はなんだと思いますか?
あなたの支持する政党はどの党ですか?

今のページの関連ページのリストへ
ザ・覚書のトップページに戻る
全ページのリストへ