如果我执行:
die();
它是否也会有效地调用
session_write_close();
因为 die 停止了整个过程?
不。正如您在 PHP 页面上看到的那样:http ://www.php.net/manual/en/function.exit.php (因为die相当于exit)
即使调用了 exit ,也将始终执行关闭函数和对象析构函数。
但是, session_write_close 不是关闭功能。如果您“死”,它将不会运行。我建议您查看session_register_shutdown。这会将 session_write_close() 注册为关闭函数,在这种情况下,它将在“die”上运行。
更多信息:http ://www.php.net/manual/en/function.session-register-shutdown.php
终止脚本的执行。即使调用了 exit ,也将始终执行关闭函数和对象析构函数。
所以php仍然会去清理例程。无论如何,如果你想在脚本关闭时做一些自定义的事情,你可以使用register_shutdown_function
.
function shutdown()
{
//Some custom clean-up, logging and so on
}
register_shutdown_function('shutdown');
注意:如果您注册自定义关闭功能,它也会在发生致命错误时调用。