PHP4とSmarty2.6を使っています。sleep関数を実行しても、埋め込んだ箇所ではなく、スクリプトの最初にsleepが実行されているような動きをします。埋め込んだ箇所で意図した動作をさせるにはphp.iniなどで何らかの設定が必要なのでしょうか?

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2006/08/03 12:16:40
  • 終了:2006/08/10 12:20:03

回答(3件)

id:kurukuru-neko No.1

kurukuru-neko回答回数1844ベストアンサー獲得回数1552006/08/03 15:16:30

ポイント27pt

1. sleepの時間が長すぎる。

php.ini

max_execution_time の値を大きくする

  max_input_timeの値を大きくする  

  http://phpspot.net/php/man/php/ref.info.html#ini.max-executi...

2. sleepが中断されている可能性がある。

(割り込みで中断する)

usleepを使う。

sleep前後で時間をはかり 本当の待ち時間をみる。

$t0 = microtime();

sleep(1);

$t1 = microtime();


http://www.php.net/manual/en/function.sleep.php

id:loy

sleepは10秒程度です。requireなども関係しているのでしょうか? 

2006/08/03 15:25:29
id:hive7134 No.2

hive7134回答回数167ベストアンサー獲得回数162006/08/03 21:50:29

ポイント27pt

sleep手前で

ob_flush();
flush();

を実行してみてはいかがでしょうか?

id:myawoo No.3

myawoo回答回数21ベストアンサー獲得回数32006/08/03 21:55:06

ポイント26pt

間違っていたらごめんなさい

sleepする前の処理は何をしているのでしょうか?

もしかして「クライアントへの文字列の出力」ではないですか?

もしそうなら原因は

1) 文字列がバッファに残っていてクライアントへ出力されていない

2) クライアントへ出力されているがブラウザが表示していない

だと思います

1ならflush()、

http://php.s3.to/man/function.flush.html

2ならEthereal

http://www.space-peace.com/ethereal/ethereal.htm

などのパケットキャプチャや

telnetアクセス

http://ash.jp/net/telnet_http.htm

などで確認できます

エスパー回答ですが外れていたらごめんなさい

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません