首页 > 语言 > PHP > 正文

PHP register_shutdown_function()函数的使用示例

2024-09-04 11:42:35
字体:
来源:转载
供稿:网友

这篇文章主要介绍了PHP register_shutdown_function()函数的使用示例,当我们的脚本执行完成或者意外死掉导致 php 执行即将关闭时,register_shutdown_function()这个函数会被调用,需要的朋友可以参考下

通过 register_shutdown_function 方法,可以让我们设置一个当执行关闭时可以被调用的另一个函数。

也就是说,当我们的脚本执行完成或者意外死掉导致 php 执行即将关闭时,我们的这个函数会被调用。

【使用场景】

① 页面被(用户)强制停止

② 程序代码意外终止或超时

③ php4 中没有析构函数,可以使用该函数模拟析构函数

shutdown.php

  1. <?php 
  2. header("content-type:text/html;charset=utf-8"); 
  3. class Shutdown{ 
  4.   public function endScript(){ 
  5.     if(error_get_last()){ 
  6.       echo '<pre>'
  7.       print_r(error_get_last()); 
  8.       echo '</pre>'
  9.     } 
  10.     file_put_contents('D:/practise/php/Error/error.txt''this is a test'); 
  11.     die('脚本结束'); 
  12.   }  
  13.  
  14. register_shutdown_function(array(new Shutdown(), 'endScript')); 
  15.  
  16. //错误测试 
  17. echo md6(); 

执行,输出:

( ! ) Fatal error: Call to undefined function md6() in D:/practise/php/Error/shutdown.php on line 18

  1.  Array 
  2.     [type] => 1 
  3.     [message] => Call to undefined function md6() 
  4.     [file] => D:/practise/php/Error/shutdown.php 
  5.     [line] => 18 

脚本结束代码如下:

D:/practise/php/Error/error.txt:

this is a test

注意:register_shutdown_function 方法是从内存中调用的,因此在使用 file_put_contents 方法时,第一个参数一定要使用绝对路径。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表