Niveau de rapport d'erreur de gestion des erreurs PHP
Niveau de rapport d'erreur
Type d'erreur
Captures d'écran d'affichage d'erreur les plus courantes de PHP, ce livre vous aide à résumer?:
[Types d'erreur de niveau de ma?trise] Nous divisons les erreurs les plus couramment utilisées en trois types?:
錯(cuò)誤類型 | 說明 |
---|---|
E_ERROR | 錯(cuò)誤,文件直接中斷 |
E_WARNING | 警告,問題比較嚴(yán)重。但是還會(huì)繼續(xù)向下運(yùn)行 |
E_NOTICE | 提示,有些小問題不會(huì)影響到程序。常發(fā)生在項(xiàng)目未定義 |
E_PARSE | 編譯時(shí)語法解析錯(cuò)誤。解析錯(cuò)誤僅僅由分析器產(chǎn)生。 |
E_ALL | 所有的錯(cuò)誤 |
E_STRICT | 啟用PHP對代碼的修改建議,以確保代碼具有最佳的互操作性和向前兼容性。 |
E_DEPRECATED | 啟用后將會(huì)對在未來版本中可能無法正常工作的代碼給出警告。 |
Parmi les types ci-dessus?:
l'erreur est la plus grave et doit être résolue. Sinon, le programme ne peut pas continuer à s'exécuter
l'avertissement est également très important. Tong doit également être résolu. Si c’est clair et intentionnel, il n’est pas nécessaire de s’en occuper.
avis Vous pouvez l'ignorer. Mais dans certaines entreprises, les normes des projets sont particulièrement élevées. Il doit également être résolu dans des projets présentant des exigences élevées. Parce que la notification affectera l’efficacité d’exécution de PHP. Cela se produit généralement lorsque la fonction n'est pas définie, etc.
Les erreurs d'analyse font référence aux erreurs grammaticales et aux fautes de frappe, qui doivent être résolues
Représente toutes les erreurs de tous types
[Comprendre le niveau des types d'erreurs] Parmi ces trois types, il existe d'autres éléments d'erreur qui doivent être compris?:
錯(cuò)誤類型 | 錯(cuò)誤說明 |
---|---|
E_CORE_ERROR | 在PHP初始化啟動(dòng)過程中發(fā)生的致命錯(cuò)誤。該錯(cuò)誤類似E_ERROR,但是是由PHP引擎核心產(chǎn)生的 |
E_CORE_WARNING | PHP初始化啟動(dòng)過程中發(fā)生的警告 (非致命錯(cuò)誤) 。類似 E_WARNING,但是是由PHP引擎核心產(chǎn)生的。 |
E_COMPILE_ERROR | 致命編譯時(shí)錯(cuò)誤。類似E_ERROR,但是是由Zend腳本引擎產(chǎn)生的。 |
E_COMPILE_WARNING | 編譯時(shí)警告(非致命錯(cuò)誤)。類似E_WARNING,但是是由Zend腳本引擎產(chǎn)生的 |
E_USER_ERROR | 用戶自定義錯(cuò)誤 |
E_USER_WARNING | 用戶自定義警告 |
E_USER_NOTICE | 用戶自定義提示 |
E_USER_DEPRECATED | 用戶產(chǎn)少的警告信息。類似E_DEPRECATED,但是是由用戶自己在代碼中使用PHP函數(shù)trigger_error()來產(chǎn)生的。 |
E_RECOVERABLE_ERROR | 可被捕捉的致命錯(cuò)誤。它表示發(fā)生了一個(gè)可能非常危險(xiǎn)的錯(cuò)誤,但是還沒有導(dǎo)致PHP引擎處于不穩(wěn)定的狀態(tài)。 |
Dans le processus d'apprentissage, comprenez simplement les types ci-dessus. Parce que vous ne le rencontrerez pas, si vous le rencontrez, vous pouvez consulter ce livre ou le manuel pour le savoir.
error_reporting Type d'erreur de rapport
error_reporting fait référence au rapport d'erreurs. Il existe également un tel paramètre dans php.ini. ce paramètre. Détermine les types d'erreurs que le moteur PHP enregistre, signale et affiche.
1. Définissez le paramètre error_reporting dans php.ini. Si le paramètre error_reporting est défini sur 0. Les erreurs dans l’ensemble du moteur PHP ne seront ni affichées, ni sorties, ni enregistrées. Il ne sera pas enregistré dans la journalisation qui sera abordée dans le chapitre suivant.
Si nous voulons afficher toutes les erreurs, nous pouvons écrire :
error_reporting = E_ALL
Si nous voulons afficher toutes les erreurs mais exclure invites, nous pouvons écrire ce paramètre comme?:
error_reporting = E_ALL & ~ E_NOTICE
Affiche toutes les erreurs mais exclut les indices, la compatibilité et la compatibilité future. Il peut s'écrire comme suit?:
error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
2. Dans certains cas, nous n'avons pas l'autorisation d'exploiter le php.ini et que vous souhaitez le contr?ler. Que faire avec error_reporting??
Au début du fichier xxxx.php en cours d'exécution, nous pouvons utiliser la fonction error_reporting() pour atteindre l'objectif.
Le code de démonstration est le suivant?:
<?php //關(guān)閉了所有的錯(cuò)誤顯示 error_reporting(0); //顯示所有錯(cuò)誤 //error_reporting(E_ALL); //顯示所有錯(cuò)誤,但不顯示提示 //error_reporting(E_ALL & ~ E_NOTICE); ?>
Vous pouvez essayer le code ci-dessus et essayer d'écrire volontairement le mauvais code. Indique si l'erreur spécifiée sera affichée dans le fichier actuel.
[Développer et comprendre les points de connaissance]?: Le symbole @ est une seule ligne que nous avons apprise auparavant et qui n'affiche pas d'erreurs. Veuillez ne pas utiliser le symbole @ ou l'utiliser avec parcimonie.
Lisons un fichier inexistant. Ce code PHP démontre le processus d'implémentation?:
<?php //讀取一個(gè)不存在的adsaf.txt文件,用@符抑制錯(cuò)誤 @$fp = fopen('adsaf.txt','r'); ?>
Le symbole @ est moins efficace. Son processus d'implémentation dans le noyau PHP est?:
<?php //關(guān)閉錯(cuò)誤 error_reporting(0); //讀取一個(gè)不存在的文件,顯示錯(cuò)誤 //顯示錯(cuò)誤 error_reporting(E_ALL & ~ E_NOTICE); ?><. ??>