(PHP 4, PHP 5, PHP 7, PHP 8)
register_shutdown_function — 注册一个会在php中止时执行的函数
注册一个 callback
,它会在脚本执行完成或者 exit() 后被调用。
可以多次调用 register_shutdown_function() ,这些被注册的回调会按照他们注册时的顺序被依次调用。 如果你在注册的方法内部调用 exit(), 那么所有处理会被中止,并且其他注册的中止回调也不会再被调用。
callback
待注册的中止回调
中止回调是作为请求的一部分被执行的,因此可以在它们中进行输出或者读取输出缓冲区。
parameter
可以通过传入额外的参数来将参数传给中止函数
...
没有返回值。
如果传入的callback不是可调用的,那么将会产生一个 E_WARNING
级别的错误。
示例 #1 register_shutdown_function() 例子
<?php
function shutdown()
{
// This is our shutdown function, in
// here we can do any last operations
// before the script is complete.
echo 'Script executed with success', PHP_EOL;
}
register_shutdown_function('shutdown');
?>
注意:
在某些web server(如Apache)上,可以在中止函数内对脚本的工作目录进行修改。
注意:
如果进程被信号SIGTERM或SIGKILL杀死,那么中止函数将不会被调用。尽管你无法中断SIGKILL,但你可以通过pcntl_signal() 来捕获SIGTERM,通过在其中调用exit()来进行一个正常的中止。