[PHP-users 13115] Re: php のタイムアウトについて

Mashiki php-users@php.gr.jp
Fri, 07 Feb 2003 02:06:37 +0900


 Mashikiです。

>スクリプト中でタイムアウト設定を 
>set_time_limit(30);
>とやってますが、長い処理をやらせると300秒で中断してしま
>います。

set_time_limit()の引数の単位は秒だってご存知ですよね。

>実際にはupdateに30秒もかかっていないのですが、処理が中
>断します。
>→これは、postgresのログで確認しています。
>
>このphpはコマンドラインで動かしています。
>
>php.iniのmax_excution_timeout及び、apacheのtimeoutは
>共に900で設定しているのですが。。。
>
>他にも設定するところがあるのでしょうか?
>
>使用しているのはPHP4.1.2+apache1.3.22,Postgresql7.1.3で
>す。 


以下のスクリプトは300秒以上動くと思いますがいかがでしょうか?
ブラウザに愛想をつかさせないためのテクニックです。

-----------------------------
<html><body>
<?php
  // 実行時間を制限しない
  set_time_limit(0);

  // 出力をバッファリングしない(==日本語自動変換もしない)
  ob_end_clean();

  // IEのために256バイト空文字出力
  echo str_pad('',256);

  // 一時間くらいがんばる
  for ($time=time(); time()<$time+3600; ) {

    // ブラウザをあきらめさせないためちびちび結果出力
    // 出力はブランクだけでもいいと思う
    echo (time()-$time)." seconds running<br>\n";

    // 出力をフラッシュする
    flush();

    // 時間のかかる処理
    sleep(30);
  }
?>
</body></html>
-------------------------------

日本語表示がうまくいかない場合、また相談してみてください。