Debugging algemeen – Error logs en locaties
Tijdens het ontwikkelen krijg je wel eens te maken met errors. Vaak weet je waar die error vandaan kwam omdat je bijvoorbeeld net bezig was in een bestand, maar soms is het iets lastiger om te bepalen waar de error precies vandaan komt. In dit artikel beschrijven we waar errors opgeslagen worden, en hoe je deze kunt bekijken.
PHP error_log inschakelen
Om PHP fouten op te slaan kun je het error_log bestand controleren. Deze kun je inschakelen via de PHP opties in cPanel en genereert vervolgens een bestand genaamd ‘error_log’ in de de “/public_html” map van jouw hosting pakket. Dit bestand dat je kunt openen met een tekst editor bevat iedere error die opgeslagen is sinds het bestand aangemaakt of overschreven is.
- Log in op het cPanel account
- Navigeer naar ‘Software > Selecteer PHP versie / Select PHP version’
Klik bovenin op het tabblad ‘Options’
Scroll naar beneden en vink daar de optie ‘log_errors’ aan
- Breng nu de error nogmaals in beeld en controleer het ‘error_log’ bestand dat is aangemaakt in de public_html map
WordPress error Log
WordPress heeft een eigen error log welke veel informatie over een foutmelding kan geven. Na het inschakelen hiervan kun je het log bestand vinden op de volgende locatie: ‘/wp-content/debug.log’.
- Login op cPanel en open de filemanager
- Open het wp-config.php bestand in de hoofdmap van jouw WordPress installatie en scroll een stuk naar beneden tot je de WP_DEBUG regel ziet staan
Voeg vervolgens onderstaande regels toe aan het wp-config.php bestand
define( ‘WP_DEBUG’, true ); // Schakel de debug modus van WordPress in
define( ‘WP_DEBUG_LOG’, true ); // Sla de meldingen op in het bestand /wp-content/debug.log
define( ‘WP_DEBUG_DISPLAY’, false ); // Optioneel: Verberg foutmeldingen voor bezoekers
- Bezoek de pagina waar de WP_DEBUG error verschijnt nogmaals nu de WP_DEBUG_LOG ingeschakeld is. Dit zal ervoor zorgen dat de error in het log bestand terecht komt. Indien je niet exact weet waar de error in zit, omdat deze bijvoorbeeld door een automatisch script aangemaakt wordt, test dan 1 voor 1 alle plugin functionaliteiten terwijl je tussendoor de error log bekijkt.
WordPress error log inschakelen via plugin
Indien je nog toegang hebt tot de admin omgeving kun je een plugin installeren waarmee je de error log kunt uitlezen. Zo kun je via ‘screen options’ in het WordPress dashboard een widget beschikbaar maken waarmee de error meldingen in het dashboard getoond zullen worden.
- Download hiervoor de Error log monitor plugin, of een van vele alternatieven.
Download, installeer en activeer de plugin en open vervolgens de wp-config.php en plak de volgende regels onder de overige debug regels
// WordPress Error Log Monitor plugin
ini_set(‘log_errors’, ‘On’);
ini_set(‘error_log’, ‘/home/username/public_html/wp-content/php-errors.log’);
error_reporting(E_ALL);
Breng nu de melding nogmaals in beeld en de melding zal getoond worden in het WordPress dashboard. Klik hiervoor bovenin op ‘Screen options’ en vink hier de error log aan. Je kunt instellen hoeveel regels je wilt zien zodat je nooit iets mist. Mocht je een foutje hebben zitten in de locatie van het error bestand kun je ook in het dashboard widget het pad naar jouw installatie vinden
cPanel Error Log
De cPanel error logs zijn snel te bekijken en eenvoudig uit te lezen. Om de cPanel error log te openen dien je eerst in te loggen op jouw cPanel account. Vervolgens klik je door naar Metrix > Errors waar je een tekstvak vind met alle errors die gelogd zijn.
Magento error log
Ook Magento heeft een error log die je kunt raadplegen. In de map /var/log/ staan 2 bestanden; system.log en exception.log. In deze bestanden staan net zoals bij bovenstaande voorbeelden alle errors die Magento te verwerken heeft gehad. Mochten deze bestanden niet bestaan, maar ze dan zelf aan en activeer het loggen via de Magento admin onder Systems > Configuration > Developer > Log Settings > Enabled = Yes