码迷,mamicode.com
首页 > Web开发 > 详细

PHP 错误与异常 笔记与总结(11 )register_shutdown_function() 函数的使用

时间:2015-06-14 21:18:32      阅读:127      评论:0      收藏:0      [点我收藏+]

标签:

通过 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 错误与异常 笔记与总结(11 )register_shutdown_function() 函数的使用

标签:

原文地址:http://www.cnblogs.com/dee0912/p/4575707.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!