PHP 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 register_shutdown_function()函数的使用示例。不管现实有多惨不忍睹,你都要固执的相信,这只是黎明前短暂的黑暗而已。更多关于PHP register_shutdown_function()函数的使用示例请关注haodaima.com其它相关文章!

您可能有感兴趣的文章
PHP性能优化案例分享

PHP实现短信验证码的发送次数限制

PHP中的异常处理机制深入讲解

PHP常见七种算法合集代码实例

PHP微信扫描二维码关注公众号后自动登录第三方网站