# 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()来进行一个正常的中止。

### 参见

- auto_append_file
- exit() - 输出一个消息并且退出当前脚本
- 连接处理 章节