加入收藏 | 设为首页 | 会员中心 | 我要投稿 银川站长网 (https://www.0951zz.com/)- 云通信、基础存储、云上网络、机器学习、视觉智能!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP register_shutdown_function()函数的运用示例

发布时间:2023-04-04 12:49:54 所属栏目:PHP教程 来源:
导读:这篇文章主要介绍了PHP register_shutdown_function()函数的使用示例,当我们的脚本执行完成或者意外死掉导致 php 执行即将关闭时,register_shutdown_function()这个函数会被调用,需要的朋友可以参考下通过 register_

这篇文章主要介绍了PHP register_shutdown_function()函数的使用示例,当我们的脚本执行完成或者意外死掉导致 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 方法时,第一个参数一定要使用绝对路径。

(编辑:银川站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!