Если я выполню:
die();
Будет ли это также эффективно
session_write_close();
Потому что смерть останавливает весь процесс?
Нет. Как вы можете видеть на странице PHP: http://www.php.net/manual/en/function.exit.php (поскольку die эквивалентен выходу )
Функции выключения и деструкторы объектов всегда будут выполняться, даже если вызывается exit.
НО, session_write_close НЕ является отключенной функцией. Он не будет работать, если вы «умрете». Предлагаю вам посмотреть session_register_shutdown . Это зарегистрирует session_write_close () как функцию выключения, и в этом случае он будет работать на «die».
Дополнительная информация: http://www.php.net/manual/en/function.session-register-shutdown.php
die
и exit
эквивалентны. Из документов:
Завершает выполнение скрипта. Функции выключения и деструкторы объектов всегда будут выполняться, даже если вызывается exit.
Таким образом, php по-прежнему будет выполнять процедуру очистки. В любом случае, если вы хотите сделать что-то обычное при выводе сценария, вы можете зарегистрировать функцию выключения с помощью register_shutdown_function
.
function shutdown() { //Some custom clean-up, logging and so on } register_shutdown_function('shutdown');
Примечание. Если вы зарегистрируете свою функцию выключения, она также будет вызвана при возникновении фатальной ошибки .