脚本终止时的调用函数
使用register_shutdown_function()
:
http://docs.php.net/manual/en/function.register-shutdown-function.php
我不知道这是否会有所帮助,但你可以做的周围用另一种方式。
定义一个函数是这样的:
function terminate() // you might want to have parameters here to handle different cases
{
the_function_to_call();
die(); // or exit();
}
内。然后你的代码调用terminate()
,而不是die()
或exit()
。
类的__destruct()magic方法也在关闭时运行,除非您先取消设置类对象。尽管如果你只想注册一个正常的函数,Scharrels的响应更简单。请参阅http://docs.php.net/manual/en/language.oop5.decon.php#language.oop5.decon.destructor
在关机中运行脚本时需要注意的一件事情是,在将输出发送到浏览器后发生这种情况,因此您不会在屏幕上显示任何错误。确保记得将错误记录到文件中以进行关闭功能!
我知道__destruct()销毁对象,但这并不能帮助我。我有一个会话操作类。我不想在对象上使用__destruct()的原因是,因为我想在最后正确保存会话数据,并且在脚本处理期间可以销毁会话对象。无论如何;) – usoban 2009-08-08 13:12:48
如果这是会话数据管理,你应该看看session_set_save_handler() - 它有它自己的系统,一个写处理程序,用于在关机时保存会话数据,而无需自己注册关闭功能。请参阅http://php.net/manual/en/function.session-set-save-handler.php – simonrjones 2009-08-08 13:39:36
谢谢,在google上没有找到任何东西,我没有想到它实际上有一个函数;) – usoban 2009-08-08 11:32:10
在php文档中的exit()函数链接到它。 PHP文档通常是寻找这类问题的最佳开始。 – Scharrels 2009-08-08 11:37:14