it-swarm.com.de

Error_reporting kann nicht so eingestellt werden, dass Fehler auf einer Joomla-Site angezeigt werden. Was ist los?

Ich aktualisiere eine Joomla 25-Site auf J3 und entwickle eine neue Vorlage. Ich arbeite vor Ort an MAMP.

Wenn jedoch ein PHP-Fehler auftritt, zeigt Joomla nicht an, um welchen Fehler es sich handelt. Stattdessen wird der leere Bildschirm angezeigt, und es ist sehr mühsam, diese Fehler zu beheben und effizient zu arbeiten.

Was auch immer ich versuche, ich erhalte immer den lokalen Wert des error_reporting als 0. (Master-Wert ist 32767).

Ich habe es in der configuration.php gesetzt, versucht es über den htaccess einzustellen, ich habe es modifiziert und direkt in der Fehlerbehandlungsfunktion in der includes/framework.php gesetzt, ich habe es in der index.php von Joomla und auch oben in gesetzt Die index.php der Vorlage, aber der lokale error_reporting-Wert bleibt 0.

Es ist keine zusätzliche php.ini-Datei geladen, außer der Haupt-PHP-Konfigurationsdatei. Alle anderen lokalen PHP/Joomla-Sites, die ich auf meinem MAMP habe, zeigen PHP-Fehler gemäß den angegebenen Einstellungen an.

Was ist los mit dieser Seite?

1
FFrewin

Nachdem alle gängigen Ansätze ohne Erfolg bei der Änderung des lokalen error_reporting-Werts erschöpft waren, begann ich zu denken, dass irgendwo im Systemfluss etwas den error_reporting-Wert auf 0 setzt, was alles andere außer Kraft setzt.

Ich habe ein System gefunden/Suche nach dem Begriff "error_reporting" im Stammverzeichnis dieser Website. In meinen Suchergebnissen habe ich eine Reihe von Dateien gefunden, auf die verwiesen wird.

Ich fing an, sie einzeln zu öffnen, um nachzuforschen. Dann stieß ich endlich auf ein System-Plugin, dessen Hauptdatei den folgenden Code enthielt.

// error_reporting set to show all errors except those for notices and coding standards warnings
// error_reporting (E_ALL ^ E_NOTICE);
// error_reporting (E_ALL ^ E_DEPRECATED);
// error_reporting (E_ALL);
error_reporting (0);

Ich habe die error_reporting(0) auskommentiert und sofort wurde der lokale error_reporting-Wert derselbe wie der Master-Wert, und schließlich habe ich die Kontrolle zurückerlangt, in der Lage zu sein, irgendwelche PHP-Fehler anzuzeigen.

Aktualisieren:

Nach Aufforderungen in den Kommentaren, den Plugin-Namen zu veröffentlichen, habe ich überprüft, ob der ursprüngliche Code die error_reporting (0) enthielt. Ich habe die gleiche Version des Plugins gefunden und tatsächlich war dieser Code Teil davon. Das Plugin ist SEO-GENERATOR v4.6
* Ich kann die neueste Version des Plugins nicht überprüfen, um festzustellen, ob es an diesem Teil geändert wurde.

0
FFrewin

Suchen Sie in Ihrer php.ini -Datei nach Folgendem und stellen Sie sicher, dass die Werte wie folgt festgelegt sind:

; display_errors
  Default Value: On


; error_reporting
  Default Value: E_ALL & ~E_NOTICE

Wenn Sie Änderungen an der Datei php.ini vorgenommen haben, müssen Sie Apache neu starten.

Wenn dies nicht funktioniert, liegt möglicherweise ein Problem mit den XDebug-Erweiterungen vor, die mit PHP installiert werden. Versuchen Sie, es zu deinstallieren und eine neuere Version zu installieren

1
Lodder