> 백엔드 개발 > PHP 튜토리얼 > PHP register_shutdown_function()函数的使用示例_PHP

PHP register_shutdown_function()函数的使用示例_PHP

WBOY
풀어 주다: 2016-05-30 08:46:03
원래의
744명이 탐색했습니다.

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

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

【使用场景】

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

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

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

shutdown.php

代码如下:


header("content-type:text/html;charset=utf-8");
class Shutdown{
    public function endScript(){
        if(error_get_last()){
            echo '

';<br>
            print_r(error_get_last());<br>
            echo '
로그인 후 복사
';
        }
        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
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿