Set_time_limit работает, не влияет на fsockopen и код не прекращает выполнениеPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Set_time_limit работает, не влияет на fsockopen и код не прекращает выполнение

Сообщение Anonymous »

У меня есть код, который начинает считывать события VOIP

но я хочу, чтобы он останавливался через 60 секунд (чтобы я мог запускать задание cron каждую минуту), но не смог этого сделать.
мой код вот так:

Код: Выделить всё

set_time_limit(60);

echo ini_get('max_execution_time');//this return 60
$socket = fsockopen("192.168.10.4","5038", $errno, $errstr,60);
if (!$socket){
echo " 222 $errstr ($errno)\n";
}else{

fputs($socket, "Action: Login\r\n");
fputs($socket, "UserName: ariacrm\r\n");
fputs($socket, "Secret: ************\r\n\r\n");
stream_set_timeout($socket, 60);
//fputs($socket, "Action: WaitEvent\r\n");
//fputs($socket, "Action: Logoff\r\n\r\n");
$event = "";
include_once('config.php');
$db = db();
while($ret = fgets($socket)){
if(substr($ret,0,6) == "Event:"){
$e = explode(':', $ret);
$event = trim($e[1]);

}

if($event == "DeviceStateChange"){
$data = explode(':', $ret);
//rest of codes
но в последний раз, когда я проверял, он работал около 30 минут без таймаута
есть ли способ это исправить?
я попробовал set_time_limit и тайм-аут fsockopen, но ничего не помогло

я использую xampp Linux

Подробнее здесь: https://stackoverflow.com/questions/793 ... -stop-exec
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»