Dieses Tutorial behandelt einige der wichtigsten Fehlererkennungsmethoden in PHP.
Wir erklären Ihnen verschiedene Fehlerbehandlungsmethoden:
Einfache „die()“-Anweisung
Benutzerdefinierte Fehler und Fehlerauslöser
Fehlerberichterstattung
Grundlegende Fehlerbehandlung: Verwenden die die()-Funktion
Das erste Beispiel zeigt ein einfaches Skript zum Öffnen einer Textdatei:
Kopieren Sie den Code. Der Code lautet wie folgt:
$file=fopen(" willkommen .txt","r");
?>
Wenn die Datei nicht existiert, erhalten Sie eine Fehlermeldung wie diese:
Warnung: fopen(welcome.txt) [ function.fopen]: Stream konnte nicht geöffnet werden:
Keine solche Datei oder kein solches Verzeichnis in C:webfoldertest.php in Zeile 2 Um zu vermeiden, dass Benutzer Fehlermeldungen wie die oben beschriebene erhalten, prüfen wir, ob die Datei existiert, bevor wir darauf zugreifen:
Code kopieren Der Code lautet wie folgt:
if(!file_exists("welcome.txt"))
{
die("Datei nicht gefunden"); 🎜>}
else
{
$file=fopen("welcome.txt","r");
?> Wenn die Datei nicht existiert, erhalten Sie eine Fehlermeldung wie diese:
Datei nicht gefunden. Der obige Code ist effizienter als der vorherige Code, da er einen einfachen Fehlerbehandlungsmechanismus verwendet, um das Skript nach dem Fehler zu beenden.
Allerdings ist es nicht immer sinnvoll, das Skript einfach zu beenden. Sehen wir uns alternative PHP-Funktionen zur Fehlerbehandlung an.
Erstellen Sie einen benutzerdefinierten Fehlerhandler
Das Erstellen eines benutzerdefinierten Fehlerhandlers ist sehr einfach. Wir haben einfach eine dedizierte Funktion erstellt, die aufgerufen werden kann, wenn in PHP ein Fehler auftritt.
Die Funktion muss mindestens zwei Parameter (Fehlerstufe und Fehlermeldung) verarbeiten können, kann aber bis zu fünf Parameter akzeptieren (optional: Datei, Zeilennummer und Fehlerkontext):
Syntax
error_function(error_level,error_message,
error_file,error_line,error_context)
Diese Fehlermeldeebenen sind Fehler Handler sind für die Behandlung verschiedener Fehlertypen konzipiert:
Jetzt erstellen wir eine Funktion zur Fehlerbehandlung:
Code kopieren Der Code lautet wie folgt:
function customError($errno, $errstr)
{
echo "Error :< ;/b> [$errno] $errstr
";
echo "Ending Script";
die();
}
Der obige Code ist ein einfache Fehlerbehandlungsfunktion. Wenn es ausgelöst wird, erhält es die Fehlerstufe und die Fehlermeldung. Anschließend werden die Fehlerstufe und die Fehlermeldung ausgegeben und das Skript beendet.
Da wir nun eine Fehlerbehandlungsfunktion erstellt haben, müssen wir bestimmen, wann die Funktion ausgelöst werden soll.
Fehlerbehandler festlegen
Der Standard-Fehlerbehandler von PHP ist der integrierte Fehlerbehandler. Wir werden die obige Funktion in den Standard-Fehlerbehandler umwandeln, wenn das Skript ausgeführt wird.
Der Fehlerhandler kann so geändert werden, dass er nur für bestimmte Fehler gilt, sodass das Skript verschiedene Fehler auf unterschiedliche Weise behandeln kann. In diesem Fall verwenden wir jedoch unseren benutzerdefinierten Fehlerhandler für alle Fehler:
set_error_handler("customError"); Da wir möchten, dass unsere benutzerdefinierte Funktion alle Fehler behandelt, erfordert set_error_handler( ) nur ein Argument kann ein zweites Argument hinzugefügt werden, um die Fehlerstufe anzugeben.
Beispiel
Testen Sie diesen Fehlerhandler, indem Sie versuchen, eine Variable auszugeben, die nicht existiert:
Code kopieren Der Code lautet wie folgt:
//error handler function
function customError($errno, $errstr)
{
echo "Error: [$errno] $errstr"; >// Fehlerhandler festlegen
set_error_handler("customError");
//trigger error
echo($test);
Die Ausgabe von Der obige Code sollte ähnlich sein:
Fehler: [8] Undefinierte Variable: Test löst einen Fehler aus
Wenn der Benutzer Daten in das Skript eingibt, ist es nützlich, bei der Eingabe des Benutzers einen Fehler auszulösen ist ungültig. In PHP wird diese Aufgabe durch trigger_error() erledigt.
Beispiel
Wenn in diesem Beispiel die Variable „test“ größer als „1“ ist, tritt ein Fehler auf:
Kopieren Sie den Code. Der Code lautet wie folgt:
php
$test =2;
if ($test>1)
{
trigger_error("Wert muss 1 oder kleiner sein"}
?> >
Der obige Code Die Ausgabe sollte wie folgt aussehen:
Hinweis: Der Wert muss 1 oder kleiner sein
in C:webfoldertest.php in Zeile 6 Sie können den Fehler an einer beliebigen Stelle im Skript auslösen Durch Hinzufügen des zweiten Parameters können Sie die Fehlerstufe angeben, die ausgelöst wird.
Mögliche Fehlertypen:
E_USER_ERROR – Schwerwiegender, vom Benutzer generierter Laufzeitfehler. Der Fehler kann nicht behoben werden. Die Skriptausführung wurde unterbrochen.
E_USER_WARNING – Nicht schwerwiegende, vom Benutzer generierte Laufzeitwarnung. Die Skriptausführung wird nicht unterbrochen.
E_USER_NOTICE – Standard. Vom Benutzer generierte Laufzeitbenachrichtigungen. Das Skript hat einen möglichen Fehler gefunden, der möglicherweise während der normalen Ausführung des Skripts aufgetreten ist.
Beispiel
Wenn in diesem Beispiel die Variable „test“ größer als „1“ ist, tritt der Fehler E_USER_WARNING auf. Wenn E_USER_WARNING auftritt, verwenden wir unseren benutzerdefinierten Fehlerhandler und beenden das Skript:
Code kopieren Der Code lautet wie folgt:
//error handler function
function customError($errno , $errstr)
{
echo "Error: [$errno] $errstr
";
die ();
}
//set_error_handler("customError",E_USER_WARNING);
//trigger error
$test=2; >if ($test>1)
{
trigger_error("Wert muss 1 oder kleiner sein",E_USER_WARNING)
?> Code sollte etwa so aussehen:
Fehler: [512] Wert muss 1 oder kleiner sein
Endskript Nachdem wir nun gelernt haben, wie wir unsere eigenen Fehler erstellen und diese bestrafen, nehmen wir einen Schauen Sie sich die Fehlerprotokollierung an.
Fehlerprotokollierung
Standardmäßig sendet PHP Fehlerdatensätze entsprechend der error_log-Konfiguration in php.ini an das Fehlerprotokollierungssystem oder die Fehlerdatei des Servers. Mit der Funktion error_log() können Sie ein Fehlerprotokoll an eine angegebene Datei oder ein Remote-Ziel senden.
Das Senden einer Fehlermeldung per E-Mail ist eine gute Möglichkeit, über einen bestimmten Fehler benachrichtigt zu werden.
Fehlermeldung per E-Mail senden
Wenn im folgenden Beispiel ein bestimmter Fehler auftritt, senden wir eine E-Mail mit einer Fehlermeldung und beenden das Skript:
Code kopieren Der Code lautet wie folgt:
//Fehlerhandlerfunktion
function customError($errno, $errstr)
{
echo "Fehler: [$errno] $errstr
";
echo "Webmaster wurde benachrichtigt"; $errno] $errstr",1,
"someone@example.com","From: webmaster@example.com");
}
//Set Error Handler
set_error_handler("customError ",E_USER_WARNING);
//trigger error
$test=2;
if ($test>1)
{
trigger_error("Wert muss 1 oder kleiner sein" ,E_USER_WARNING);
}
?> 🎜>Webmaster hat Die E-Mail, die er mit dem obigen Code erhalten hat, wurde ähnlich wie folgt benachrichtigt:
Fehler: [512] Der Wert muss 1 oder niedriger sein. Diese Methode ist nicht für alle Fehler geeignet. Allgemeine Fehler sollten mit dem standardmäßigen PHP-Protokollierungssystem auf dem Server protokolliert werden.
Fehler-Backtrace
Definition und Verwendung
Die PHP-Funktion debug_backtrace() generiert einen Backtrace.
Diese Funktion gibt ein assoziatives Array zurück. Die folgenden Elemente können zurückgegeben werden:
Syntax
debug_backtrace()-Beispiel
php Funktion eins ($str1, $str2)
zwei("Glenn", "Quagmire");
Funktion zwei($str1, $str2)
{
drei( "Cleveland", "Brown");
}
Funktion drei($str1, $str2)
{
print_r(debug_backtrace()}
eins ("Peter", "Griffin");
Ausgabe:
Array
(
[0] => Array
(
[file] => C:webfoldertest.php
[line] => 7
[function] => three
[args] => Array
(
[0] => Cleveland
[1] => Brown
)
[1] => Array
[Datei] => C : webfoldertest.php
[line] => 3
[function] => two
[args] => Array
(
[0] => Glenn
[1] => Quagmire
)
)
[2] => Array
(
[file] => C:webfoldertest.php
[line] = > 14
[function] => one
[args] => Array
(
[0] => Peter
[1] => Griffin
)
)
)

PHP ist hauptsächlich prozedurale Programmierung, unterstützt aber auch die objektorientierte Programmierung (OOP). Python unterstützt eine Vielzahl von Paradigmen, einschließlich OOP, funktionaler und prozeduraler Programmierung. PHP ist für die Webentwicklung geeignet, und Python eignet sich für eine Vielzahl von Anwendungen wie Datenanalyse und maschinelles Lernen.

PHP entstand 1994 und wurde von Rasmuslerdorf entwickelt. Es wurde ursprünglich verwendet, um Website-Besucher zu verfolgen und sich nach und nach zu einer serverseitigen Skriptsprache entwickelt und in der Webentwicklung häufig verwendet. Python wurde Ende der 1980er Jahre von Guidovan Rossum entwickelt und erstmals 1991 veröffentlicht. Es betont die Lesbarkeit und Einfachheit der Code und ist für wissenschaftliche Computer, Datenanalysen und andere Bereiche geeignet.

PHP eignet sich für Webentwicklung und schnelles Prototyping, und Python eignet sich für Datenwissenschaft und maschinelles Lernen. 1.PHP wird für die dynamische Webentwicklung verwendet, mit einfacher Syntax und für schnelle Entwicklung geeignet. 2. Python hat eine kurze Syntax, ist für mehrere Felder geeignet und ein starkes Bibliotheksökosystem.

PHP bleibt im Modernisierungsprozess wichtig, da es eine große Anzahl von Websites und Anwendungen unterstützt und sich den Entwicklungsbedürfnissen durch Frameworks anpasst. 1.PHP7 verbessert die Leistung und führt neue Funktionen ein. 2. Moderne Frameworks wie Laravel, Symfony und Codesigniter vereinfachen die Entwicklung und verbessern die Codequalität. 3.. Leistungsoptimierung und Best Practices verbessern die Anwendungseffizienz weiter.

PhPhas significantantyPactedWebDevelopmentAndendendsbeyondit.1) iTpowersMAjorPlatforms-LikewordpressandExcelsInDatabaseInteractions.2) php'SadaptabilityAllowStoscaleForLargeApplicationsfraMe-Linien-Linien-Linien-Linienkripte

PHP -Typ -Eingabeaufforderungen zur Verbesserung der Codequalität und der Lesbarkeit. 1) Tipps zum Skalartyp: Da Php7.0 in den Funktionsparametern wie int, float usw. angegeben werden dürfen. 3) Eingabeaufforderung für Gewerkschaftstyp: Da Php8.0 in Funktionsparametern oder Rückgabetypen angegeben werden dürfen. 4) Nullierstyp Eingabeaufforderung: Ermöglicht die Einbeziehung von Nullwerten und Handlungsfunktionen, die Nullwerte zurückgeben können.

Verwenden Sie in PHP das Klonschlüsselwort, um eine Kopie des Objekts zu erstellen und das Klonierungsverhalten über die \ _ \ _ Clone Magic -Methode anzupassen. 1. Verwenden Sie das Klonschlüsselwort, um eine flache Kopie zu erstellen und die Eigenschaften des Objekts, nicht die Eigenschaften des Objekts zu klonen. 2. Die \ _ \ _ Klonmethode kann verschachtelte Objekte tief kopieren, um flache Kopierprobleme zu vermeiden. 3. achten Sie darauf, dass kreisförmige Referenzen und Leistungsprobleme beim Klonen vermieden werden, und optimieren Sie die Klonierungsvorgänge, um die Effizienz zu verbessern.

PHP eignet sich für Webentwicklungs- und Content -Management -Systeme, und Python eignet sich für Datenwissenschafts-, maschinelles Lernen- und Automatisierungsskripte. 1.PHP hat eine gute Leistung beim Erstellen von schnellen und skalierbaren Websites und Anwendungen und wird üblicherweise in CMS wie WordPress verwendet. 2. Python hat sich in den Bereichen Datenwissenschaft und maschinelles Lernen mit reichen Bibliotheken wie Numpy und TensorFlow übertrifft.


Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Herunterladen der Mac-Version des Atom-Editors
Der beliebteste Open-Source-Editor

SecLists
SecLists ist der ultimative Begleiter für Sicherheitstester. Dabei handelt es sich um eine Sammlung verschiedener Arten von Listen, die häufig bei Sicherheitsbewertungen verwendet werden, an einem Ort. SecLists trägt dazu bei, Sicherheitstests effizienter und produktiver zu gestalten, indem es bequem alle Listen bereitstellt, die ein Sicherheitstester benötigen könnte. Zu den Listentypen gehören Benutzernamen, Passwörter, URLs, Fuzzing-Payloads, Muster für vertrauliche Daten, Web-Shells und mehr. Der Tester kann dieses Repository einfach auf einen neuen Testcomputer übertragen und hat dann Zugriff auf alle Arten von Listen, die er benötigt.

PHPStorm Mac-Version
Das neueste (2018.2.1) professionelle, integrierte PHP-Entwicklungstool

SAP NetWeaver Server-Adapter für Eclipse
Integrieren Sie Eclipse mit dem SAP NetWeaver-Anwendungsserver.

Dreamweaver CS6
Visuelle Webentwicklungstools