PHP中的sleep函數失效

2009-06-15 6:46 am
唔知點解,以下碼中既sleep用唔到- -"

for($i=1;$i<10;$i++){
echo '1';
sleep(1);
}

理應要等10秒先可以顯示哂10個1,但係佢就1秒內load完each埋出黎- -個sleep失效了~

有沒人知點解~~?會唔會關個php.ini設定事=口=?
更新1:

我試過將echo 1改為echo 2,甚至係開一個新既.php再試,但就算係頭一次,仍然都係一瞬間load完@@ 已經用埋係每次echo完都用左次clearstatcache();了-口-但仲係沒改善@@"

回答 (1)

2009-06-15 8:53 am
✔ 最佳答案
PHP 是在 server 運行, 完成後會傳送最後的結果給 client.
以上的 code 會令該頁在 10 秒後一次過顯 10 個 1.
而第二次運行時, 可能會有 cache, 所以 1 秒內顯示.

2009-06-19 01:27:53 補充:
clearstatcache 所指的好像是 Server side 的 cache.

你的問題是 Client side 的 cache. 要用瀏灠器的清除快取.

PHP ini 可以設定 no-cache.
或 在 .php file 設定 header (i.e. header('Cache-Control: no-cache');)

ps. PHP 在不 refresh 的情況下, 又沒有用其他 script, 不會有 count down effect.


收錄日期: 2021-04-25 00:02:16
原文連結 [永久失效]:
https://hk.answers.yahoo.com/question/index?qid=20090614000051KK02147

檢視 Wayback Machine 備份