PHP register_shutdown_function()函数的使用示例
程序员文章站
2022-06-16 09:34:48
通过 register_shutdown_function 方法,可以让我们设置一个当执行关闭时可以被调用的另一个函数。
也就是说,当我们的脚本执行完成或者意外死掉导致...
通过 register_shutdown_function 方法,可以让我们设置一个当执行关闭时可以被调用的另一个函数。
也就是说,当我们的脚本执行完成或者意外死掉导致 php 执行即将关闭时,我们的这个函数会被调用。
【使用场景】
① 页面被(用户)强制停止
② 程序代码意外终止或超时
③ php4 中没有析构函数,可以使用该函数模拟析构函数
shutdown.php
<?php header("content-type:text/html;charset=utf-8"); class shutdown{ public function endscript(){ if(error_get_last()){ echo '<pre>'; print_r(error_get_last()); echo '</pre>'; } file_put_contents('d:\practise\php\error\error.txt', 'this is a test'); die('脚本结束'); } } register_shutdown_function(array(new shutdown(), 'endscript')); //错误测试 echo md6();
执行,输出:
复制代码 代码如下:
( ! ) fatal error: call to undefined function md6() in d:\practise\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
)
脚本结束
复制代码 代码如下:
d:\practise\php\error\error.txt:
this is a test
注意:register_shutdown_function 方法是从内存中调用的,因此在使用 file_put_contents 方法时,第一个参数一定要使用绝对路径。
上一篇: php中header设置常见文件类型的content-type
下一篇: php异常处理方法实例汇总