#php
#php
Вопрос:
Можем ли мы использовать ignore_user_abort в любой строке PHP, например:
<?php
// Process Codes
if($_GET['nonstop']) {
ignore_user_abort(1);
// Background process
}else{
// Nonbackground process
}
// Other Codes
?>
Или нам нужно использовать on только после <?php
(первая строка)?
Спасибо.
Ответ №1:
Вы можете использовать его в любом месте вашего кода.
Die amp; Exit
ignore_user_abort() не отключает die или exit . Он просто сообщает PHP (и серверу) НЕ прерывать скрипт при закрытии соединения удаленных пользователей.
Стоит отметить
«PHP не обнаружит, что пользователь прервал соединение, пока не будет предпринята попытка отправить информацию клиенту. Простое использование оператора echo не гарантирует, что информация будет отправлена, см. flush() «. — PHP.Net
Комментарии:
1. Хм, оке. Спасибо. Можем ли мы остановить фоновый процесс с помощью die(); ?
2. ignore_user_abort не отключает die / exit. Он просто сообщает PHP (и apache) НЕ завершать работу скрипта при закрытии соединения удаленных пользователей.
Ответ №2:
Это функция PHP… это должно быть внутри <?php ?>
блока.
Если это не ясно, у вас может быть несколько блоков PHP. Вы всегда можете придерживаться верхней части своей страницы (и, вероятно, вам следует это сделать, если вы хотите именно такого поведения!).