[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>
-------------------------------
日本語表示がうまくいかない場合、また相談してみてください。