作者 主題: PHP中的sleep函數失效  (閱讀 7057 次)

0 會員 與 1 訪客 正在閱讀本文。

neverwinter

  • 可愛的小學生
  • *
  • 文章數: 18
    • 檢視個人資料
PHP中的sleep函數失效
« 於: 2009-06-17 00:47 »
先放上問題代碼

代碼: [選擇]
for($i=1;$i<10;$i++){
echo '1';
sleep(1);
}

理應要完全顯示10個1,需要共10秒的時間
可是我1秒都不用就全load出來了~
明顯sleep函數失效了~
請問,是什麼原因可以導致這情況?

有說是因為cache關係,可是我加了clearstatcache()函數,仍然沒有得到改善~
會是php.ini的設定問題嗎@@?

TyroneYeh

  • 俺是博士!
  • *****
  • 文章數: 2396
  • 性別: 男
    • 檢視個人資料
回覆: PHP中的sleep函數失效
« 回覆 #1 於: 2009-06-17 00:54 »
你可以先 echo date('h:i:s') . "\n";
再 sleep 後再一次 echo date('h:i:s') . "\n";
看看時間就知道有沒有生效

我在想,這東西到 client 時應該是一下就出來了!!
因為 php 不是 client 端的程式,都是在 server 端產生結果後直接輸出 html 給 client!!
--
TyroneYeh

neverwinter

  • 可愛的小學生
  • *
  • 文章數: 18
    • 檢視個人資料
回覆: PHP中的sleep函數失效
« 回覆 #2 於: 2009-06-17 01:05 »
http://rotten.byethost11.com/a/style/test.php

已經測試了,測驗代碼為
代碼: [選擇]
echo date('h:i:s')."<br>";
sleep(10);
echo date('h:i:s');

就像你看,根本沒有sleep- -" :'(

如果是真的如你說,那麼sleep函數到底有什麼用-口-

Darkhero

  • 酷!學園 學長們
  • 俺是博士!
  • *****
  • 文章數: 3728
  • 性別: 男
    • 檢視個人資料
    • ㄚ凱隨手紀
回覆: PHP中的sleep函數失效
« 回覆 #3 於: 2009-06-17 01:19 »
http://rotten.byethost11.com/a/style/test.php

已經測試了,測驗代碼為
代碼: [選擇]
echo date('h:i:s')."<br>";
sleep(10);
echo date('h:i:s');

就像你看,根本沒有sleep- -" :'(

如果是真的如你說,那麼sleep函數到底有什麼用-口-

看起來那台是個 free hosting ?...
用個 phpinfo() 看看吧, 有可能是 sleep 被關起來了...

同樣的 code 在我的主機上很正常.
代碼: [選擇]
01:18:48
01:18:58
希望我們的討論是為了把問題解決,而不是爭論誰對誰錯.
『灌水才是重點,發文只是順便』
『我寧可讓不會釣魚的工程師餓死,也不想讓會餓死的工程師去攪沉公司....』
Blog: http://blog.darkhero.net/
秘密基地: http://www.darkhero.net/comic/
目前服務的網站: http://www.libook.com.tw/

TyroneYeh

  • 俺是博士!
  • *****
  • 文章數: 2396
  • 性別: 男
    • 檢視個人資料
回覆: PHP中的sleep函數失效
« 回覆 #4 於: 2009-06-17 01:24 »
怪了! 我 server 上就有效耶
應該是 Darkhero 先進說的那樣子
--
TyroneYeh

Darkhero

  • 酷!學園 學長們
  • 俺是博士!
  • *****
  • 文章數: 3728
  • 性別: 男
    • 檢視個人資料
    • ㄚ凱隨手紀
回覆: PHP中的sleep函數失效
« 回覆 #5 於: 2009-06-17 01:36 »
人家在論壇上面的 KB 都有寫了...
http://byet.net/showthread.php?t=2162
引用
The following PHP functions are disabled :
----------------------------------------------------------------

exec,system,passthru,shell_exec,escapeshellarg,esc apeshellcmd,proc_close,proc_open,ini_alter,dl,pope n,curl_exec,popen,pcntl_exec,socket_accept,socket_ bind,socket_clear_error,socket_close,socket_connec t,socket_create_listen,socket_create_pair,socket_c reate,socket_get_option,socket_getpeername,socket_ getsockname,socket_last_error,socket_listen,socket _read,socket_recv,socket_recvfrom,socket_select,so cket_send,socket_sendto,socket_set_block,socket_se t_nonblock,socket_set_option,socket_shutdown,socke t_strerror,socket_write,stream_socket_client,strea m_socket_server,fsockopen,pfsockopen,stream_set_ti meout,chown,getrusage,get_current_user,set_time_li mit,getmyuid,getmypid,dl,leak,listen,chgrp,link,sy mlink,dlopen,proc_nice,proc_get_stats,proc_termina te,shell_exec,sh2_exec,posix_getpwuid,posix_getgrg id,posix_kill,ini_restore,mkfifo,dbmopen,dbase_ope n,filepro,filepro_rowcount,posix_mkfifo,putenv,sleep
希望我們的討論是為了把問題解決,而不是爭論誰對誰錯.
『灌水才是重點,發文只是順便』
『我寧可讓不會釣魚的工程師餓死,也不想讓會餓死的工程師去攪沉公司....』
Blog: http://blog.darkhero.net/
秘密基地: http://www.darkhero.net/comic/
目前服務的網站: http://www.libook.com.tw/

neverwinter

  • 可愛的小學生
  • *
  • 文章數: 18
    • 檢視個人資料
回覆: PHP中的sleep函數失效
« 回覆 #6 於: 2009-06-17 14:37 »
噢噢,原來是網存問題 :-\
小弟下次要努力點爬文|||  :-*"
很感謝各位大大的解答-口-!!

ticky

  • 可愛的小學生
  • *
  • 文章數: 14
    • 檢視個人資料
回覆: PHP中的sleep函數失效
« 回覆 #7 於: 2010-09-08 15:59 »
ob_start();

for ($i=1; $i<10;$i++) {

echo $i;
ob_flush();
flush();
sleep(2);
}