Debugging (WordPress)
Versie door Jeroen Strompf (overleg | bijdragen) op 1 mrt 2022 om 14:47
Debugging, troubleshooting, storingen of errors: Dit artikel is het uitgangspunt om problemen te verhelpen, geïnspireerd op artikel Storingen (Drupal).
WordPress Debugging Mode
Rond troubleshooting, is de eerste stap vaak om debugging aan te zetten in de betreffende WordPress-site. Zie Debugging Mode (WordPress) voor details.
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
- Zet debugging mode aan: Debugging Mode (WordPress)
- Bekijk het PHP-log-file. Gebruikelijke locatie:
tail /var/log/php/error.log
. Geen log? Misschien eerst configureren inphp.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)
Casus: Hoe Gijs een gare site debugde (dec. 2021)
- In wp-config.php: Verander
define('WP_DEBUG', false);
indefine('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.
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).