一、概念
register_shutdown_function函数能够让PHP在脚本结束前,完成某些操作。通常,我们可以利用这一功能来捕获或是处理一下致命性错误,或是完成页面的某些特定的操作等。函数语法如下:void register_shutdown_function ( callable $callback [, mixed $parameter [, mixed $... ]] )
参数callback
待注册的中止回调
中止回调是作为请求的一部分被执行的,因此可以在它们中进行输出或者读取输出缓冲区。
parameter
可以通过传入额外的参数来将参数传给中止函数
注意
register_shutdown_function函数与fastcgi_finish_request的区别,一个是请求结束前完成需要的任务,一个是在请求结束后完成需要的任务。
二、使用
案例1
先来个简单的小试一把,如下,在页面最后输出bye-bye,程序如下:<?php
echo 'curTime : ', date("Y-m-d H:i:s"), "\n";
$params = ['name' => 'dq'];
register_shutdown_function(function($data){
$data['name'] = isset($data['name']) ? $data['name'] : 'world';
echo $data['name'],',bye-bye',"\n";
}, $params);
echo 'task is finished ',"\n";