>백엔드 개발 >PHP 문제 >PHP는 오류를 보고하고 자체적으로 기록합니다.

PHP는 오류를 보고하고 자체적으로 기록합니다.

尚
원래의
2019-11-01 14:52:272456검색

PHP는 오류를 보고하고 자체적으로 기록합니다.

저희는 보통 각 서버에서 정의하는 error_log인 nginx 오류 로그를 통해 오류를 분석합니다. PHP가 스스로 오류를 기록하는 방법을 살펴보겠습니다.

php는 오류를 자체적으로 기록합니다.

프로그램에서 오류 로그 기능을 사용자 정의한 다음 프로그램에서 해당 판단을 내리면 됩니다. 프로그램이 성공적으로 실행되지 않으면 오류 로그 기록을 호출합니다. 기능.

오류 로그 형식을 사용자 정의하고 로그를 기록합니다.

1. 프로그램에 해당 프로그램을 작성합니다.

<?php
function set_debug($uid = &#39;&#39;, $order = &#39;&#39;, $data = &#39;&#39;){
    $error_path = &#39;order.error.html&#39;;//自定义错误日志保存的文件和路径
    $error_data = array(
        &#39;time&#39; => date("Y-m-d H:i",time()),//记录错误发生的时间
        &#39;error&#39; => urlencode($data),//防止中文乱码
        &#39;order&#39;=> $order,//记录订单
        &#39;user_name&#39;=> $uid,//记录当前用户
    );
    //判断文件大小,选择追加还是重新写入,注意之前防止乱码用了urlencode
    if( abs(filesize($error_path)) < 10240 ){
        @file_put_contents($error_path, urldecode(json_encode($error_data))."<br>",FILE_APPEND);
    }else{
        @file_put_contents($error_path, urldecode(json_encode($error_data)) ."<br>");
    };
}

//模拟订单录入错误时,将日志记录到错误日志中
$uid = 1000070;//模拟用户uid
$order = 2132215641000070;//模拟用户订单号
if (true)  {
    set_debug($uid,$order,&#39;订单录入失败&#39;);
}

2. 오류 파일을 만들고 권한을 부여합니다.

cd /data/www

주문. error .html

chmod 777 order.error.html

권장: php 서버

위 내용은 PHP는 오류를 보고하고 자체적으로 기록합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.