2014-12-11 3 views
0

Я использую Ubuntu Server 14.04 У меня есть проблема в моем скрипте ... скрипт дает мне ответ очень хорошо, если я использую die вместо sleep после эха в состоянии else, но когда я использую sleep (3600) после того, как эхо в остальное состоянии он не дает мне никакого ответа ... это мой кодPHP Функция сна с While Loop

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

Что вы * ожидали * к случиться? 'sleep (3600)' означает подождать 60 минут; это означает, что наступит час, прежде чем вы получите ответ. Однако PHP часто настроен на отмену скриптов, которые занимают более короткого времени (30 секунд или около того), поэтому вы можете просто получить сообщение об ошибке, когда это произойдет. – Wyzard

+0

вы можете проверить это сообщение, может быть, полезно http://stackoverflow.com/questions/740954/does-sleep-time-count-for-execution-time-limit и http://stackoverflow.com/questions/8518203/max -проведение-время и-сон – tzafar

ответ

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';   
} 
}