Если я выполняю:Does die() завершает сессию в PHP?
die();
Будет ли также эффективно называть
session_write_close();
Поскольку матрица останавливает весь процесс?
Если я выполняю:Does die() завершает сессию в PHP?
die();
Будет ли также эффективно называть
session_write_close();
Поскольку матрица останавливает весь процесс?
No. Как вы можете видеть на странице PHP: http://www.php.net/manual/en/function.exit.php (потому что умереть эквивалентен выхода)
Shutdown функция и объект деструкторы всегда будет выполняться , даже если выход называется.
НО, 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');
Примечание: если вы регистрируете вашу пользовательскую функцию отключения также будет вызываться, когда фатальная ошибка происходит.
Да будет, так же, как любое прекращение скрипт будет. Также будут выполняться деструкторы объектов; хотя я не уверен в каком-либо файле auto_append_file –
никакой сессии не будет конца. умереть(); только прекращает выполнение скрипта. – ripa