Maison >développement back-end >Problème PHP >php signale les erreurs et les enregistre lui-même

php signale les erreurs et les enregistre lui-même

尚
original
2019-11-01 14:52:272452parcourir

php signale les erreurs et les enregistre lui-même

Nous analysons généralement les erreurs via le journal des erreurs nginx, qui est le error_log que nous définissons dans chaque serveur. Jetons un coup d'œil à la façon dont PHP enregistre les erreurs par lui-même.

php enregistre les erreurs tout seul :

Il suffit de personnaliser une fonction de journal des erreurs dans le programme, puis, dans Le jugement correspondant est effectué dans le programme. Si le programme n'est pas exécuté avec succès, la fonction de journal des erreurs est appelée.

Personnalisez le format du journal des erreurs et enregistrez le journal :

1 Écrivez le programme correspondant dans le programme

<?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. fichier d'erreurs et accorder les autorisations

cd /data/www

touch order.error.html

chmod 777 order.error.html

Recommandé : serveur php

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn