WSOD (WordPress)

Uit De Vliegende Brigade
Versie door Jeroen Strompf (overleg | bijdragen) op 13 jun 2018 om 10:42 (→‎Belangrijkste oorzaken)
(wijz) ← Oudere versie | Huidige versie (wijz) | Nieuwere versie → (wijz)
Naar navigatie springen Naar zoeken springen

Belangrijkste oorzaken

  • Storingen worden bijna altijd door PHP verzoorzaakt
  • Gehackte site waarbij foutmeldingen worden uitgezet

Zie ook White Screen of Death (Drupal).

Acties

Probeer /wp-admin

Als je de /wp-admin-pagina kunt bereiken, ben je een heel eind.

php-logs achterhalen

  • Met behulp van Phpinfo() kun je een hoop PHP-instellingen achterhalen, waaronder de waarde voor error_log: Deze bevat het pad naar het error-logboek. Als deze de speciale waarde syslog bevat, wordt het standaard SAPI-foutenlogboek gebruikt. Anders wordt op een LAMP-server meestal het Apache-foutenlogboek gebruikt
  • Via phpinfo() kun je tevens de locatie achterhalen van Apache-logboeken. Meestal /var/log/apache2

De belangrijkste Apache-logboeken:

  • access.log - Hierin kun je zien of de betreffende site is opgeroepen op de webserver
  • error.log - En hier kun je de bijbehorende fouten zien. Geen fouten? Misschien moet je meldingen aanzetten - Zie hieronder.

php-foutmeldingen enablen

Om PHP-foutmeldingen te activeren, moet je uiteraard eerst weten waar je dat configureert. Gebruik daar opnieuw phpinfo voor. Voor PHP 7.0 lijkt dit standaard /etc/php/7.0/apache2/php.ini te zijn.

Foutmelding-gerelateerde variabelen worden getoond in phpinfo in onderdeel Core. Variabelen + bijbehorende instellingen om zoveel mogelijk informatie te verkrijgen (handig op ontwikkelomgevingen maar niet op productie-omgevingen):

error_reporting = E_ALL
display_errors = On
display_startup_erros = On
html_errors = On
log_errors = On

Hernoem plugin-map

Hernoem wp-content/plugins naar wp-content/plugins-old [1].

Hernoem theme-map

wp-content/themeswp-content/themes-old [2].

Controleer of de site gehacked is

Dit overkwam mij in de zomer van 2018: Foutmeldingen wilden maar niet verschijnen, totdat ik php-bestanden met een editor opende: Alle bestanden waren gehacked, en bovenaan was code ingevoegd die foutmeldingen onderdrukten.

Zie ook

Bronnen