ホームページ >バックエンド開発 >PHPの問題 >php はエラーを報告し、それ自体を記録します

php はエラーを報告し、それ自体を記録します

尚
オリジナル
2019-11-01 14:52:272412ブラウズ

php はエラーを報告し、それ自体を記録します

通常、nginx エラー ログを通じてエラーを分析します。これは、各サーバーで定義する error_log です。 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

touch order.error.html

chmod 777 order.error.html

推奨: phpserver

以上がphp はエラーを報告し、それ自体を記録しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。