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:

  1. 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
  2. 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.