通过 register_shutdown_function 方法,可以让我们设置一个当执行关闭时可以被调用的另一个函数。
也就是说,当我们的脚本执行完成或者意外死掉导致 PHP 执行即将关闭时,我们的这个函数会被调用。
【使用场景】
② 程序代码意外终止或超时
shutdown.PHP
PHP;">
PHP
header("content-type:text/html;charset=utf-8");
class Shutdown{
public function endScript(){
if(error_get_last()){
echo '
'; print_r(error_get_last()); echo ''; } file_put_contents('D:\practise\PHP\Error\error.txt','this is a test'); die('脚本结束'); } }
register_shutdown_function(array(new Shutdown(),'endScript'));
//错误测试
echo md6();
执行,输出:
代码如下:
PHP\Error\shutdown.PHP on line 18
Array ( [type] => 1 [message] => Call to undefined function md6() [file] => D:\practise\PHP\Error\shutdown.PHP [line] => 18 ) 脚本结束
代码如下:
PHP\Error\error.txt:
this is a test
注意:register_shutdown_function 方法是从内存中调用的,因此在使用 file_put_contents 方法时,第一个参数一定要使用绝对路径。
原文链接:https://www.f2er.com/php/21686.html