2014-12-11 149 views
0

我使用Ubuntu服務器14.04我有一些問題在我的腳本...腳本給我的反應非常好,如果我使用死亡而不是睡眠後回聲在其他條件但當我使用睡眠(3600 )在其他條件下它不給我任何迴應呼應後...這是我的代碼PHP的休眠功能與While循環

date_default_timezone_set("Europe/London"); 

$st_time = '12:00'; 

$et_time = '18:00'; 

$cur_time = date("H:i"); 

while (1) { 

    if (($cur_time < $et_time) && ($cur_time > $st_time)) { 
     //Enter and perform Some function 
    } else { 
     echo 'sleep for one hour Bye';  
     sleep(3600) 
    } 
} 
+1

你在* *預期到發生? 「睡眠(3600)」意味着等待60分鐘;這意味着它會在一個小時後才能得到答覆。但是,PHP通常被配置爲中止腳本,這些腳本所用時間不會超過30秒(約30秒),因此您可能會在發生這種情況時發生錯誤。 – Wyzard 2014-12-11 05:50:53

+0

你可以檢查這篇文章,也許有幫助http://stackoverflow.com/questions/740954/does-sleep-time-count-for-execution-time-limit和http://stackoverflow.com/questions/8518203/max -execution時間和睡眠 – tzafar 2014-12-11 05:52:09

回答

1

試試這個代碼,代碼睡在微seceonds:

date_default_timezone_set("Europe/London"); 
$st_time = '12:00'; 
$et_time = '18:00'; 
$cur_time = date("H:i"); 
while (true) { 
if (($cur_time < $et_time) && ($cur_time > $st_time)) { 
//Enter and perform Some function 
} else { 
usleep(3600); 
echo 'sleep for one hour Bye';   
} 
}