Кажется, скрипты php продолжаются даже после закрытия или остановки страницы.
например, если мой скрипт запущен /localhost/test.php
после закрытия страницы иногда она продолжает работать. Я уверен, что перезапуск apache очищает его, но есть ли лучший способ завершить php-скрипт после его запуска.
Вы можете использовать ignore_user_abort, но я думаю, что это применимо только в том случае, если вы используете PHP в качестве сценария командной строки.
При запуске скриптов из браузера, по моему опыту, я понял, что скрипты работают даже после закрытия браузера. Я не пошел дальше, чтобы проверить, как долго они запускались.
Скрипты, которые делают огромную обработку, которая может работать много минут, я использовал для управления, как показано ниже:
On
Или Off
(Или 1
или 0
). Off
(или 0
). Один из способов рассмотрения флага находится в цикле, как показано ниже:
while(true) { /* Your code here which probably does lot of processing */ if($flag === false) break; // Or exit if you prefer }
вwhile(true) { /* Your code here which probably does lot of processing */ if($flag === false) break; // Or exit if you prefer }
Если у вас есть код, который нужно запустить после цикла, вы должны использовать break .
Если вы хотите резко остановить скрипт, вы можете использовать exit вместо этого на своем месте.
проверьте это: http://php.net/manual/en/function.ignore-user-abort.php
Устанавливает, должен ли клиент отключиться, чтобы сценарий был прерван.