26. Juli 2024

WordPress:
PHP Fehlersuche- und Monitoring

Um PHP-Fehler in WordPress zu erfassen und bequem in einem Log zu prüfen, verwende ich folgenden Code in der wp-config.php:

ini_set('log_errors', 'On');
ini_set('error_log', ABSPATH.'php-errors-9AMBhUnqvBNUqeCYLo2p.log');
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', ini_get('error_log'));
define('WP_DEBUG_DISPLAY', false);

Wenn man diesen Debug-Code nur für bestimmte Aufrufe beziehungsweise Tests benötigt, kann auch eine entsprechende Bedingung verwendet werden:

if(isset($_GET['debug']) or isset($_COOKIE['debug']))
{
  ini_set('log_errors', 'On');
  ini_set('error_log', ABSPATH.'php-errors-9AMBhUnqvBNUqeCYLo2p.log');
  define('WP_DEBUG', true);
  define('WP_DEBUG_LOG', ini_get('error_log'));
  define('WP_DEBUG_DISPLAY', false);
}

Mit dem Plugin Error Log Monitor lassen sich die Einträge der Log-Datei auch im WordPress-Dashboard anzeigen, mit Error Log Monitor Pro sogar automatisch Benachrichtigungen per Mail versenden, wenn Fatal Errors auftreten oder die Log-Datei eine bestimmte Größe überschreitet.