WSOD (WordPress): verschil tussen versies

Uit De Vliegende Brigade
Naar navigatie springen Naar zoeken springen
 
(11 tussenliggende versies door dezelfde gebruiker niet weergegeven)
Regel 2: Regel 2:
  
 
* Storingen worden bijna altijd door PHP verzoorzaakt
 
* Storingen worden bijna altijd door PHP verzoorzaakt
* Zie ook [[White Screen of Death (Drupal)]].
+
* Gehackte site waarbij foutmeldingen worden uitgezet
  
== Diagnose ==
+
Zie ook [[White Screen of Death (Drupal)]].
 +
 
 +
== Acties ==
 +
 
 +
=== Probeer /wp-admin ===
 +
 
 +
Als je de <code>/wp-admin</code>-pagina kunt bereiken, ben je een heel eind.
  
 
=== php-logs achterhalen ===
 
=== php-logs achterhalen ===
Regel 10: Regel 16:
 
* Met behulp van [[Phpinfo()]] kun je een hoop [[PHP-instellingen (hosting) | PHP-instellingen]] achterhalen, waaronder de waarde voor [http://www.php.net/manual/en/errorfunc.configuration.php#ini.error-log 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
 
* Met behulp van [[Phpinfo()]] kun je een hoop [[PHP-instellingen (hosting) | PHP-instellingen]] achterhalen, waaronder de waarde voor [http://www.php.net/manual/en/errorfunc.configuration.php#ini.error-log 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 <code>/var/log/apache2</code>
 
* Via phpinfo() kun je tevens de locatie achterhalen van Apache-logboeken. Meestal <code>/var/log/apache2</code>
 +
 +
De belangrijkste Apache-logboeken:
 +
 +
* <code>access.log</code> - Hierin kun je zien of de betreffende site is opgeroepen op de webserver
 +
* <code>error.log</code> - 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() | phpinfo]] voor. Voor PHP 7.0 lijkt dit standaard <code>/etc/php/7.0/apache2/php.ini </code> 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):
 +
 +
<pre>
 +
error_reporting = E_ALL
 +
display_errors = On
 +
display_startup_erros = On
 +
html_errors = On
 +
log_errors = On
 +
</pre>
 +
 +
=== Hernoem plugin-map ===
 +
 +
Hernoem <code>wp-content/plugins</code> naar <code>wp-content/plugins-old</code> [https://codex.wordpress.org/Common_WordPress_Errors#The_White_Screen_of_Death].
 +
 +
=== Hernoem theme-map ===
 +
 +
<code>wp-content/themes</code> → <code>wp-content/themes-old</code> [https://codex.wordpress.org/Common_WordPress_Errors#The_White_Screen_of_Death].
 +
 +
=== 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==
 
== Zie ook==
Regel 15: Regel 52:
 
* [[Phpinfo()]]
 
* [[Phpinfo()]]
 
* [[PHP-instellingen (hosting)]]
 
* [[PHP-instellingen (hosting)]]
 +
* [[Site wordt niet weergegeven (Apache)]]
 
* [[White Screen of Death (Drupal)]]
 
* [[White Screen of Death (Drupal)]]
  
Regel 20: Regel 58:
  
 
* http://www.php.net/manual/en/errorfunc.configuration.php#ini.error-log
 
* http://www.php.net/manual/en/errorfunc.configuration.php#ini.error-log
 +
* https://codex.wordpress.org/Common_WordPress_Errors#The_White_Screen_of_Death

Huidige versie van 13 jun 2018 om 10:42

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