demon_mhm
Новичок
Проблема с ignore_user_abort
Здравствуйте!
Проблема в следующем: есть java приложение, которое передает моему скрипту данные и закрывает соединение. Необходимо чтобы скрипт продолжил работу после закрытия соединения. Написал небольшую тестовую программку чтобы изучить поведение ignore_user_abort()
Запускаю ее в браузере, нажимаю на "стоп". По загрузке проца видно что скрипт дорабатывает. Лезу в логи...
По идее здесь еще должна быть строчка connection aborted on i = 12345... И connection_status должен быть 1
То есть ветка if (connection aborted()) не отрабатывает?
Но самое смешное, что если закоментировать строчку ignore_user_abort(1), то при нажатии "стоп" скрипт останавливается, НО! Сообщения в логах появляются все-равно:
Кто-нибудь может подсказать что я делаю не так?
Apache/1.3.26 (Win32) PHP/4.3.11
Здравствуйте!
Проблема в следующем: есть java приложение, которое передает моему скрипту данные и закрывает соединение. Необходимо чтобы скрипт продолжил работу после закрытия соединения. Написал небольшую тестовую программку чтобы изучить поведение ignore_user_abort()
PHP:
<?php
ignore_user_abort(1);
$i=0;
for ($i = 0; $i <= 1000; $i= $i + 0.0001);//выполняется длинный цикл,
//во время которого жмем "стоп", имитируя отключение клиента
$fh = @fopen('test.txt', 'a+');
if (connection_aborted())
fwrite($fh, "\n ".date('[H:i:s]')."connection aborted on i = ".$i);
fwrite($fh, "\n ".date('[H:i:s]')." connection_status: ".connection_status());
fwrite($fh, "\n ignore_user_abort is set to: ".ignore_user_abort());
echo '!!!';
?>
PHP:
[15:29:29] connection_status: 0
ignore_user_abort is set to: 1
То есть ветка if (connection aborted()) не отрабатывает?
Но самое смешное, что если закоментировать строчку ignore_user_abort(1), то при нажатии "стоп" скрипт останавливается, НО! Сообщения в логах появляются все-равно:
PHP:
[16:43:28] connection_status: 0
ignore_user_abort is set to: 0
Apache/1.3.26 (Win32) PHP/4.3.11