Comment gérer l'erreur 500 du site Web PHP

王林
Libérer: 2023-02-25 16:36:02
original
4067 Les gens l'ont consulté

Comment gérer l'erreur 500 du site Web PHP

Une erreur de syntaxe du programme PHP conduit à

Scénario 1 :

Le projet est mis en place avec surveillance des alarmes (visitez régulièrement un lien fixe sur le site toutes les 10 minutes). Il fut un temps où je recevais des emails signalant 500 erreurs deux ou trois fois par jour, mais lorsque j'y accédais à nouveau manuellement, l'accès était normal. .

Cela devrait être C'est l'erreur la plus courante, et les erreurs grammaticales peuvent également réapparaître rapidement. Tant que le message d'erreur est exposé, le problème peut être résolu immédiatement. S'il s'agit d'un environnement local ou de test, nous le traitons généralement comme ceci. Définissez simplement le message d'erreur de sortie dans l'entrée du programme :

//error_reporting设置应该报告的错误,下面表示除了 E_NOTICE,报告其他所有错误
error_reporting(E_ALL ^ E_NOTICE);
//输出错误
ini_set('display_errors', 1);
Copier après la connexion

Mais dans un environnement en ligne, parce que tous les utilisateurs l'utilisent, c'est le cas. impossible de nous le permettre. Alors, que dois-je faire en cas d'erreur d'impression flagrante ? Vous pouvez définir la sortie d'erreur dans le fichier journal dans le fichier d'entrée du programme. Le code spécifique est le suivant :

error_reporting(E_ALL ^ E_NOTICE);
//禁止把错误输出到页面
ini_set('display_errors', 0);
//设置错误信息输出到文件
ini_set('log_errors', 1);

//指定错误日志文件名
$error_dir = '/logs/err/';
$error_file = $error_dir . date('Ymd').'.log';
//目录不存在就创建
if (!is_dir($error_dir)){
    mkdir($error_dir, 0777, true);
}
//文件不存在就创建之
if(!file_exists($error_file)){
    $fp = fopen($error_file, 'w+');
    if($fp){
        fclose($fp);
    }
}

//设置错误输出文件
ini_set("error_log", $error_file);

//程序正常执行逻辑......
Copier après la connexion

Le problème dans le scénario 1 que nous venons de mentionner a été découvert plus tard lorsque nous l'avons affiché dans le journal dans le même cas. comme ci-dessus. C'était parce que mysql La connexion était anormalement déconnectée et le programme continuait à s'exécuter (c'était normal lors de la connexion à mysql, mais une erreur a été signalée lors de l'appel de la méthode de requête spécifique. Je me souviens que cela semblait être l'endroit où se trouvait la méthode mysqli_real_escape_string. () a été utilisé). Cela a entraîné une erreur fatale, qui a finalement été réparée avec succès.

Le disque est plein, ce qui provoque

Scénario 2 :

L'image ne peut pas être téléchargée et l'erreur 500 est toujours signalé.

Les erreurs 500 causées par un espace disque insuffisant et un espace insuffisant pour lire et écrire des données sont extrêmement rares et difficiles à détecter à temps. Habituellement, lorsque vous rencontrez une erreur 500, la première chose qui vous vient à l'esprit est une erreur de programme. En fait, cela peut également être dû à un espace disque insuffisant. Si vous ne trouvez aucun problème dans le programme, vous pouvez vérifier si cela est dû. espace disque insuffisant.

df -h 查看磁盘空间占用情况
Copier après la connexion

Comment gérer lerreur 500 du site Web PHP

Tutoriel recommandé : Tutoriel vidéo 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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal