Eine leere Seite mit Status 200 ist PHP, das auf einen fatalen Fehler stößt, während display_errors aus ist. Den Fehler gibt es; er wurde in ein Log geschrieben statt auf den Bildschirm. Nichts ist unwiederbringlich kaputt, und das Log nennt Datei und Zeile.
Lesen Sie das Log, schalten Sie display_errors nicht ein
Fehler im Browser einzuschalten zeigt Ihre Dateipfade jedem, der die Seite aufruft. Das Log hat dieselben Angaben und zeigt sie niemandem.
tail -40 /var/log/php8.3-fpm.log
# or, if the site sets its own:
tail -40 /path/to/site/error_log
Wenn das Log leer ist
Dann ist PHP nie weit genug gekommen, um eines zu schreiben. Zwei Ursachen, nach Wahrscheinlichkeit:
- Speicher — Ein Skript, das memory_limit überschreitet, wird beendet, bevor es etwas protokollieren kann. Erhöhen Sie es vorübergehend, um den echten Fehler zu sehen:
memory_limit = 512M - Ein Syntaxfehler in einer eingebundenen Datei — php -l benennt sie:
php -l wp-config.php
Bei WordPress im Besonderen
In neun von zehn Fällen ist es ein Plugin oder ein Theme, das Minuten zuvor aktualisiert wurde. Benennen Sie das Plugin-Verzeichnis um - die Website kommt mit allen Plugins aus zurück, und sie einzeln zurückzubenennen findet das eine.
mv wp-content/plugins wp-content/plugins.off
# site loads? rename back and re-enable one at a time
Fügen Sie
define("WP_DEBUG_LOG", true); in wp-config.php ein. Der Fehler geht nach wp-content/debug.log und nicht auf den Bildschirm.