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