Maison >développement back-end >Problème PHP >Que faire s'il y a un avertissement d'erreur PHP ?

Que faire s'il y a un avertissement d'erreur PHP ?

藏色散人
藏色散人original
2022-01-12 09:49:283367parcourir

Solution à l'avertissement d'erreur PHP : 1. Ajoutez "error_reporting(E_ALL ^ ​​​​E_DEPRECATED);" à la page d'avertissement ; 2. Modifiez le fichier php.ini pour bloquer l'erreur.

Que faire s'il y a un avertissement d'erreur PHP ?

L'environnement d'exploitation de cet article : système Windows 7, PHP version 5.5, ordinateur DELL G3

Que dois-je faire s'il y a un avertissement d'erreur PHP ?

Résoudre le problème de l'affichage des avertissements et des avis par PHP

Une fois PHP installé, il définira l'apparence des erreurs, des rappels, des avertissements, etc. dans le fichier php.ini. Cette méthode nous permet de déboguer les programmes PHP. . Capacité à comprendre les problèmes du programme en temps opportun. Ensuite, parfois nous n'avons pas besoin de rappels, d'avertissements, etc. Par exemple, lorsque nous utilisons PHP5.5 (ou supérieur) et que nous utilisons l'ancienne méthode de connexion MySql avec l'environnement de développement MySql, PHP vous demandera : Veuillez utiliser la dernière méthode de connexion MySql. . Lorsque vous l'utilisez pour lire le contenu d'une base de données et le renvoyer à la réception au format json (ou autre), des erreurs se produiront souvent dans le contenu

Comment bloquer cette erreur ?

1. Ajoutez des rappels d'erreur de protection sur les pages où des rappels, des erreurs ou des avertissements peuvent (ou se sont déjà produits) :

error_reporting(E_ALL ^ ​​​​E_DEPRECATED) ; php5

.5, il n'est plus recommandé d'utiliser l'ancienne méthode de connexion

mysql//Mais speedPHP utilise toujours l'ancienne méthode de connexion. À ce stade, php signalera une invite E_deprecated Désactivez. l'invite et OK Oui, vous pouvez également mettre //php en mode déploiement (mode non-développement), mais la meilleure solution est d'utiliser le dernier speedPHP

Généralement, vous pouvez également utiliser le contenu suivant pour résoudre certains avertissements, etc. Problème

ini_set("display_errors", 0);

error_reporting(E_ALL ^ ​​​​E_NOTICE);

error_reporting(E_ALL ^ ​​​​E_WARNING);

2, ouvrez le fichier php.ini, recherchez les paramètres pertinents (comme indiqué ci-dessous), activez ou désactivez et vous pourrez bloquer les erreurs (cette méthode n'est pas recommandée) :

Parfois, cela ne fonctionne toujours pas après avoir modifié les display_errors du php.ini. Référez-vous ensuite à la méthode suivante :

Modifiez le php.ini et remplacez display_errors = On par display_errors = Off, mais le résultat ne fonctionne toujours pas. Après vérification de Baidu, il s'avère qu'il doit être défini dans php-fpm.conf.

Ouvrez php-fpm.conf et recherchez :

63b34fed84565885fabfde02ea27d043

                                                                                         t -i4b175f9a50d57c75316becd702e959dc

0a101288e62ccdc6c8f51bdeadd769e50< ;/value>

Changez simplement la valeur de 1 à 0.

3. Cette méthode est très adaptée aux projets qui ont décidé d'adopter une méthode qui provoquera certainement des rappels ou des avertissements. Bloquez-la une fois pour toutes :

Référez-vous d'abord à 2 pour trouver l'emplacement du. display_errors pertinents. Remplacez Off par On Recherchez ensuite l'emplacement dans l'image ci-dessous et modifiez le niveau dont vous avez besoin pour signaler une erreur ou le niveau dont vous n'avez pas besoin pour signaler une erreur

Les niveaux de rapport d'erreur que vous auxquels vous faites référence sont les suivants :

定义和用法:
error_reporting() 设置 PHP 的报错级别并返回当前级别。
 
函数语法:
error_reporting(report_level)
 
如果参数 level 未指定,当前报错级别将被返回。下面几项是 level 可能的值:
值 常量 描述
1 E_ERROR 致命的运行错误。错误无法恢复,暂停执行脚本。
2 E_WARNING 运行时警告(非致命性错误)。非致命的运行错误,脚本执行不会停止。
4 E_PARSE 编译时解析错误。解析错误只由分析器产生。
8 E_NOTICE 运行时提醒(这些经常是你代码中的bug引起的,也可能是有意的行为造成的。)
16 E_CORE_ERROR PHP启动时初始化过程中的致命错误。
32 E_CORE_WARNING PHP启动时初始化过程中的警告(非致命性错)。
64 E_COMPILE_ERROR 编译时致命性错。这就像由Zend脚本引擎生成了一个E_ERROR。
128 E_COMPILE_WARNING 编译时警告(非致命性错)。这就像由Zend脚本引擎生成了一个E_WARNING警告。
256 E_USER_ERROR 用户自定义的错误消息。这就像由使用PHP函数trigger_error(程序员设置E_ERROR)
512 E_USER_WARNING 用户自定义的警告消息。这就像由使用PHP函数trigger_error(程序员设定的一个E_WARNING警告)
1024 E_USER_NOTICE 用户自定义的提醒消息。这就像一个由使用PHP函数trigger_error(程序员一个E_NOTICE集)
2048 E_STRICT 编码标准化警告。允许PHP建议如何修改代码以确保最佳的互操作性向前兼容性。
4096 E_RECOVERABLE_ERROR 开捕致命错误。这就像一个E_ERROR,但可以通过用户定义的处理捕获(又见set_error_handler())
8191 E_ALL 所有的错误和警告(不包括 E_STRICT) (E_STRICT will be part of E_ALL as of PHP 6.0)

Exemple :

any N'importe quel nombre des options ci-dessus peut être connecté par "ou" (en utilisant OR ou |), de sorte que tous les niveaux d'erreur requis puissent être signalés.

Par exemple, le code suivant désactive les erreurs et les avertissements définis par l'utilisateur, effectue certaines opérations, puis revient au niveau d'erreur d'origine :

<?php
//禁用错误报告
error_reporting(0);
 
//报告运行时错误
error_reporting(E_ERROR | E_WARNING | E_PARSE);
 
//报告所有错误
error_reporting(E_ALL);
?>
Apprentissage 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!

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