register_shutdown_function

(PHP 4, PHP 5, PHP 7)

register_shutdown_function注册一个会在php中止时执行的函数

说明

register_shutdown_function ( callable $callback [, mixed $parameter [, mixed $... ]] ) : void

注册一个 callback ,它会在脚本执行完成或者 exit() 后被调用。

可以多次调用 register_shutdown_function() ,这些被注册的回调会按照他们注册时的顺序被依次调用。 如果你在注册的方法内部调用 exit(), 那么所有处理会被中止,并且其他注册的中止回调也不会再被调用。

参数

callback

待注册的中止回调

中止回调是作为请求的一部分被执行的,因此可以在它们中进行输出或者读取输出缓冲区。

parameter

可以通过传入额外的参数来将参数传给中止函数

...

返回值

没有返回值。

错误/异常

如果传入的callback不是可调用的,那么将会产生一个 E_WARNING 级别的错误。

范例

Example #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');
?>

注释

Note:

在某些web server(如Apache)上,可以在中止函数内对脚本的工作目录进行修改。

Note:

如果进程被信号SIGTERM或SIGKILL杀死,那么中止函数将不会被调用。尽管你无法中断SIGKILL,但你可以通过pcntl_signal() 来捕获SIGTERM,通过在其中调用exit()来进行一个正常的中止。

参见

相关文章
php 函数处理 函数 create an anonymous lambda style functionphp 过滤器函数 通过名称获取特定的外部变量,并且可以通过过滤器处理它php 函数处理 函数 call a static method and pass the arguments as arrayphp 函数处理 函数 call a static methodphp 别名和过时的 mysqli 函数 在主/从机制中强制在从机上执行一个查询php oci8 函数 提交未执行的事务处理php oci8 函数 返回语句执行后受影响的行数php oci8 函数 配置 oracle 语句预备执行php pcntl 函数 在当前进程当前位置产生分支(子进程)。译注:fork是创建了一个子进程,父进程和子进程 都从fork的位置开始向下继续执行,不同的是父进程执行过程中,得到的fork返回值为子进程 号,而子进程得到的是0。php 杂项 函数 检查php的语法(并执行)指定的文件php 程序执行函数 关闭由 proc open 打开的进程并且返回进程退出码php 程序执行函数 获取由 proc open 函数打开的进程的信息php readline 函数 注册一个完成函数php 函数处理 函数 注册一个会在php中止时执行的函数php 函数处理 函数 register a function for execution on each tickphp session 函数 检查变量是否在会话中已经注册php stream 函数 获取已注册的数据流过滤器列表php 程序执行函数 执行外部程序,并且显示输出php 错误处理 函数 产生一个用户级别的 error/warning/notice 信息php yaf dispatcher 设置错误处理函数
关注编程学问公众号