error_reporting(E_ALL);
und ini_set('display_errors', 1);
sind die gebräuchlichsten Codes für Debugging-Prozesse in einer PHP-Entwicklungsumgebung. Diese beiden Zeilen sorgen dafür, dass alle Fehler, Warnungen und Benachrichtigungen, die in einem ausgeführten PHP-Skript auftreten können, im Browser angezeigt werden.
Verwendung:
error_reporting(E_ALL);
ini_set('display_errors', 1);
Erläuterungen:
-
error_reporting(E_ALL);
: Sorgt dafür, dass PHP alle Fehlertypen (einschließlich Warnungen, Benachrichtigungen, schwerwiegende Fehler) anzeigt. -
ini_set('display_errors', 1);
: Aktiviert die Anzeige dieser Fehler auf dem Bildschirm (im Browser) durch PHP. Wenn dieser Wert0
ist, werden die Fehler im Hintergrund protokolliert, aber nicht im Browser angezeigt.
Wann verwenden?
-
In der Entwicklungsumgebung, insbesondere beim Testen von Code
-
Wenn eine schnelle Erkennung von Funktions- oder Konfigurationsfehlern erforderlich ist
-
Um Details bei Session-, Include- und Datenbankfehlern anzuzeigen
Wann nicht verwenden?
-
Sollte niemals auf Live-Seiten (Produktionsumgebungen) verwendet werden. Da Fehler dem Benutzer angezeigt werden, führt dies sowohl zu Sicherheitslücken als auch zu Problemen mit der Benutzererfahrung.
Alternative Vorgehensweise auf einem Live-Server:
ini_set('log_errors', 1);
ini_set('error_log', '/home/kullanici/public_html/php-error.log');
error_reporting(E_ALL);
Mit dieser Struktur werden Fehler nicht dem Benutzer angezeigt, sondern in einer speziellen Datei protokolliert.
Aktivierung über .htaccess:
php_flag display_errors On
php_value error_reporting E_ALL
Diese Struktur ermöglicht die direkte Anpassung über die .htaccess
-Datei auf Apache-Servern.
WordPress Beispiel:
define('WP_DEBUG', true);
define('WP_DEBUG_DISPLAY', true);
In WordPress-Projekten wird diese Struktur in der Datei wp-config.php
verwendet, um PHP-Fehler anzuzeigen.
Dank dieser Methode der Fehlerberichterstattung können Codefehler im PHP-Entwicklungsprozess leichter erkannt und behoben werden. Es wird insbesondere empfohlen, diese Einstellungen während der Codierungsphase zu aktivieren, es ist jedoch zwingend erforderlich, sie auf Live-Seiten zu deaktivieren.