Heim >Backend-Entwicklung >PHP-Problem >Was sind die Fehlertypen in PHP?

Was sind die Fehlertypen in PHP?

藏色散人
藏色散人Original
2020-08-20 09:54:443571Durchsuche

Zu den Fehlertypen in PHP gehören: 1. Fehler im Programm selbst; 3. Unterschiede in der PHP-Konfiguration; ; 8. Definieren Sie Fehlerhandler.

Was sind die Fehlertypen in PHP?

Empfohlen: „PHP-Video-Tutorial

PHP-Fehlertypen

Erstens Fehler im Programm selbst

Bei dieser Art von Fehler handelt es sich um einen Fehler, der relativ einfach zu behandeln ist, wie z Ein Grammatikfehler oder Der Compiler kann diese Fehler beim Kompilieren nicht analysieren. Anschließend können Sie den spezifischen Fehlercode anhand der Fehleraufforderungen finden. Wenn jedoch im mit eval() ausgeführten Code ein Fehler auftritt, kann dieser während der Kompilierung nicht gefunden werden. Es kann nur gewartet werden, bis der Code ausgeführt wird und bei seiner Kompilierung ein Fehler auftritt Ausführungsprozess. Fehler:

<?php 
   echo "this will be echo to putty";
   eval("php error when parser");
 
?>

Dieser Fehler unterscheidet sich von anderen Codefehlern dadurch, dass das Echo vor der Ausgabe erfolgt. Bei anderen Codefehlern erfolgt keine Ausgabe, da die Kompilierung nicht erfolgreich ist und nicht ausgeführt wird.

Zweitens undefinierte Symbole

Wenn PHP ausgeführt wird, kann es auf viele Variablen, Funktionen und andere Namen stoßen, die es nicht kennt, da PHP beim Kompilieren nicht alle Symbolnamen, Funktionsnamen usw. vollständig versteht.

Wenn es sich nur um eine undefinierte Konstante oder Variable handelt, handelt es sich lediglich um ein Benachrichtigungsformular. Wenn jedoch eine undefinierte Funktion oder Klasse angetroffen wird, wird das Programm beendet. Wenn der Benutzer eine Funktion namens __autoload definiert, wird diese aufgerufen, wenn die Klasse über diese Funktion zurückgegeben werden kann. Es werden keine Fehler generiert.

Drei universelle Fehler

3.1 Unterschiede durch Betriebssysteme

Einige PHP-Funktionen, die nur auf einer speziellen Plattform verfügbar sind.

Einige PHP-Funktionen, die auf einer bestimmten Plattform nicht verfügbar sind.

Einige PHP-Funktionen, die auf verschiedenen Plattformen leicht unterschiedlich sind.

Zeichen, die Pfadkomponenten in Dateinamen unterscheiden.

Externe Programme oder Dienste sind nicht auf allen Plattformen verfügbar.

3.2 PHP-Konfigurationsunterschiede

Zum Beispiel die Konfigurationsoption magic_quotes_gpc: Wenn diese Option aktiviert ist, fügt PHP Schrägstriche zu allen externen Daten hinzu. Wenn das Programm zu diesem Zeitpunkt auf einen anderen Server übertragen wird, auf dem diese Option nicht aktiviert ist, treten Probleme bei der Benutzereingabe auf. Der Weg, mit ähnlichen Unterschieden umzugehen, besteht darin, den PHP-Code zu überprüfen und festzustellen, ob die Option über die Funktion ini_get() aktiviert ist, und dann eine einheitliche Anpassung vorzunehmen.

register_globals: Diese Einstellung bestimmt, ob PHP GET, POST, Cookies, Umgebungsvariablen oder Servervariablen als globale Variablen einführt. Im Allgemeinen vermieden.

allow_url_fopen: Wenn diese Option auf false gesetzt ist, ist die Funktion zum Betreiben von URL-Dateien deaktiviert.

3.3 SAPI-Unterschiede

4. Betriebsfehler

Beispielsweise Fehler, die durch andere Faktoren als PHP selbst verursacht werden, wenn Festplattendaten oder Netzwerkvorgänge und Datenbankaufrufe durchgeführt werden.

5. PHP-Fehler

Der Fehlermechanismus in PHP wird von allen in PHP integrierten Funktionen verwendet. Normalerweise gibt dieser einfache Mechanismus eine Fehlermeldung aus, einschließlich einiger grundlegender fehlerbezogener Informationen.

Fehlerstufen sind unterteilt in:

E_ERROR:严重错误。
E_WARNING:最普通的错误类型。
E_PARSE:解析错误在编译的时候发生。
E_STRICT:这个错误级别是唯一不包含在E_ALL常量中的,为了让PHP4到PHP5的迁移更加容易。
E_NOTICE:表示运行的代码可能在操作一些未知的事情。
E_CORE_ERROR:由于扩展启动失败等导致的。
E_COMPILE_WARNING:编译的时候出现的警告,告诉用户一些不推荐使用的语法信息。
E_COMPILE_ERROR:编译错误。
E_USER_ERROR
E_USER_WARNING
可以用error_reporting(Integer)函数来设置哪些错误被报告。如所有的错误,表示为E_ALL ,除了通告以外的所有错误,可以表示为E_ALL & ~E_NOTICE.
display_errors(boolean):这个设置控制错误是否作为PHP输出的一部分显示出来。
log_errors(boolean),这个设置控制错误是否记录。日志的地址是通过error_log(String)设置决定的。默认情况下,错误被记录到WEB服务器的错误日志中。
html_errors(boolean):设置控制是否在错误信息中采用HTML格式 。

Sechs, Fehlerhandler definieren

Sie können set_error_handler(error_handle_function,error_types) aufrufen, um den Fehlerhandler anzugeben. Wie zum Beispiel

function customError($errno, $errstr, $errfile, $errline)
 { 
 echo "<b>Custom error:</b> [$errno] $errstr<br />";
 }
set_error_handler("customError"); // 默认为所有的错误,就是E_ALL.

Das obige ist der detaillierte Inhalt vonWas sind die Fehlertypen in PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn