Debugging (WordPress): verschil tussen versies

Uit De Vliegende Brigade
Naar navigatie springen Naar zoeken springen
Regel 61: Regel 61:
 
* Oorzaak: Die waarschuwing zorgde voor het 'uitrekken'
 
* Oorzaak: Die waarschuwing zorgde voor het 'uitrekken'
 
* Oplossing: Waarschuwing uitzetten (zie casus dec. 2021 hierboven).
 
* Oplossing: Waarschuwing uitzetten (zie casus dec. 2021 hierboven).
 +
 +
== Casus: Diverse PHP-waarschuwingen (mrt. 2022) ==
 +
 +
=== Probleem ===
 +
 +
De site wordt weergegeven, maar met PHP-foutmeldingen (blijkbaar stond debugging nog aan):
 +
 +
<pre>
 +
Warning: The magic method WP_Hotjar::__wakeup() must have public visibility in /var/www/example.com/wp-content/plugins/hotjar/hotjar.php on line 50
 +
Warning: The magic method MikadoCore\CPT\Portfolio\Lib\PortfolioQuery::__wakeup() must have public visibility in /var/www/example.com/wp-content/plugins/mikado-core/post-types/portfolio/lib/portfolio-query.php on line 19
 +
Warning: The magic method MikadoCore\CPT\PostTypesRegister::__wakeup() must have public visibility in /var/www/example.com/wp-content/plugins/mikado-core/post-types/post-types-register.php on line 29
 +
Warning: The magic method MikadoCore\Lib\ShortcodeLoader::__wakeup() must have public visibility in /var/www/example.com/wp-content/plugins/mikado-core/lib/shortcode-loader.php on line 32
 +
</pre>
 +
 +
Dit lijkt de essentie te zijn (handig voor zoeken):
 +
 +
<pre>
 +
Warning: The magic method __wakeup() must have public visibility
 +
</pre>
 +
 +
of
 +
 +
<pre>
 +
Warning: The magic method __wakeup() must have public visibility wordpress
 +
</pre>
 +
 +
=== Mogelijke oorzaken ===
 +
 +
* Dit is een PHP-8 server en misschien dat dit compatibiliteitsproblemen zijn rondom PHP7-code
 +
* Deze server is slechts een paar maanden oud. Misschien missen er nog bepaalde PHP-modules?
  
 
== Zie ook ==
 
== Zie ook ==

Versie van 1 mrt 2022 15:00

Debugging, troubleshooting, storingen of errors: Dit artikel is het uitgangspunt om problemen te verhelpen, geïnspireerd op artikel Storingen (Drupal).

Keten

Verdeel en heers: Waar in de keten ligt het probleem? Een bloemlezing:

  • Client-computer
  • Netwerk
  • DNS
  • WordPress: PHP, CSS (HTML, meer?)
  • MySQL
  • Apache
  • Server

Client-computer & netwerk

  • Wat krijg je als je de URL ping'ed?
  • Kun je de site zien mbv. Lynx op de betreffende server?

PHP

Debugging mode

Zet debugging mode aan: Debugging Mode (WordPress) - Dit is vaak de eerste stap rondom debugging.

Log

  • Bekijk het PHP-log-file
  • Gebruikelijke locatie: tail /var/log/php/error.log
  • Geen log? Misschien eerst configureren in php.ini: error_log = "/var/log/php/error.log"
  • Geen idee welk php.ini-bestand? → locate php.ini. Toevoeging aan php.ini + chmod o+rwx (feb. 2019) - Dit werkt. Ik denk alleen dat dat chmod-commando iets te wild is

Losse dingen

  • Query-monitor plugin: wp plugin install query-monitor - Van beperkt nut tot op heden
  • wp_memory: Op een server met 16GB geheugen, is 2GB een prima getal - Kan zelfs nog iets hoger. Deze instelling kun je oa. zien via WooCommerce » Status » WordPress environment
  • PHP: Max input vars: 1.000 is een gebruikelijke waarde.

Casus: WSOD (okt. 2019)

Een WSOD (White Screen of Death) duidt meestal op een PHP-storing. In dit geval kon ik wel inloggen in het admin-gedeelte van de site. Dat duidt vaak op een WordPress-theme of -plugin-storing. Ik vond geen bijzondere meldingen in the beheer-interface

Casus: Hoe Gijs een gare site debugde (dec. 2021)

  • In wp-config.php: Verander define('WP_DEBUG', false); in define('WP_DEBUG', true);
  • Nu verscheen er een waarschuwing, maar geen serieuse fout
  • Rechtermuisknop » Inspect (Google Chrome): Het bleek dat alleen de header werd geladen, tot een bepaald punt: De taalwissel
  • Daarna wist Gijs vrij snel waar het probleem lag: De taalwissel crasht de site, als er een lege regel in zit
  • Vervolgens in wp-config.php de debugging-mode weer uitgezet.
Hier stond ooit een webwinkel. Wat nu? Ik zou denken dat er iets mis is met CSS of anderszins met vormgeving. 's Kijken hoe Gijs dit doet...

Casus: Uitgerekte CSS? (Jan. 2022)

Een site had na migratie dat de CSS in de header 'uitgerekt' leek te zijn. Tevens was er een waarschuwing over een PHP-commando dat veroudert was.

  • Oorzaak: Die waarschuwing zorgde voor het 'uitrekken'
  • Oplossing: Waarschuwing uitzetten (zie casus dec. 2021 hierboven).

Casus: Diverse PHP-waarschuwingen (mrt. 2022)

Probleem

De site wordt weergegeven, maar met PHP-foutmeldingen (blijkbaar stond debugging nog aan):

Warning: The magic method WP_Hotjar::__wakeup() must have public visibility in /var/www/example.com/wp-content/plugins/hotjar/hotjar.php on line 50
Warning: The magic method MikadoCore\CPT\Portfolio\Lib\PortfolioQuery::__wakeup() must have public visibility in /var/www/example.com/wp-content/plugins/mikado-core/post-types/portfolio/lib/portfolio-query.php on line 19
Warning: The magic method MikadoCore\CPT\PostTypesRegister::__wakeup() must have public visibility in /var/www/example.com/wp-content/plugins/mikado-core/post-types/post-types-register.php on line 29
Warning: The magic method MikadoCore\Lib\ShortcodeLoader::__wakeup() must have public visibility in /var/www/example.com/wp-content/plugins/mikado-core/lib/shortcode-loader.php on line 32

Dit lijkt de essentie te zijn (handig voor zoeken):

Warning: The magic method __wakeup() must have public visibility

of

Warning: The magic method __wakeup() must have public visibility wordpress

Mogelijke oorzaken

  • Dit is een PHP-8 server en misschien dat dit compatibiliteitsproblemen zijn rondom PHP7-code
  • Deze server is slechts een paar maanden oud. Misschien missen er nog bepaalde PHP-modules?

Zie ook

Bronnen