Fehlerprotokoll

Standmäßig ist das Server-Fehlerprotokoll deaktiviert. Der Klick auf die Schaltfläche aktivieren setzt die Protokollierung in Gang.

ACHTUNG!
Die Protokollierung ist nach Aktivierung nur für die folgenden 24 Stunden aktiviert. Nach Ablauf deaktiviert sich diese automatisch.

Unter anzeigen erhalten Sie Direktzugriff auf aktuelle Fehlerberichte oder gespeicherte Protokolle.

Der Aufruf kann, je nach Dateigröße des Protokolls, eine Weile dauern. Aus diesem Grund empfehlen wir in jedem Fall, die Logs via FTP-Zugriff herunter zu laden. Den Speicherort behandeln wir im Thema Die FTP-Ordnerstruktur.

Fehler, die durch PHP selbst aufgezeichnet werden, finden sich nicht im Error-Log des Webservers!
Bitte wählen Sie in der oben gezeigten Auswahl priv/php_error.log aus. Selbstverständlich können Sie diese Meldungen auch direkt per FTP/SSH an folgender Stelle eingesehen werden:

/logs/priv/php_errors.log


Error-Log im Browser abrufen

Um nicht für jeden einzelnen Fehler die Error-Log-Datei erneut über FTP komplett laden zu müssen, stellen wir hier ein PHP-Skript zur Verfügung, welches das Error-Log als Webseite darstellt.

Quellcode des Skriptes:

<?php
    if (!isset($_GET['p']) || $_GET['p'] != "mysecretpassword") {
        echo "Zugriff verweigert.";
        exit();
    }
    $dir = dirname($_SERVER["SCRIPT_FILENAME"]);
    $account = substr($dir, 9, strpos($dir, "/", 9) -9);
    $errorlog = "/var/www/$account/log/error_log";
    $datei = fopen($errorlog, "r");
    $data = array();
    while ($zeile = fgets($datei)) {
      $zeit = substr($zeile, 1, 24);
      $zeitpunkt = strtotime($zeit);
      $string = substr($zeile, strpos($zeile, "]")+1);
      $string = substr($string, strpos($string, "]")+1);
      $string = substr($string, strpos($string, "]")+1);
      $data[$zeitpunkt] = $string;
    }
    fclose($datei);
    krsort($data);
?>
<html>
<head>
  <title>Errorlog</title>
  <style type="text/css">
    body {
      background-color:lightblue;
    }
    table {
      padding: 2px;
      border: 2px;
      border-style: solid;
      border-color: black;
      cellpadding: 2px;
      cellspacing: 2px;
    }
    table caption {
      color: blue;
      text-decoration: underline;
      font-size: 125%;
    }
    table td {
      border:1px solid #000;
    }
  </style>
</head>
<body>
<table>
<caption>Errorlog f&uuml;r Account: $account</caption>
<?php
    foreach($data as $key => $value) {
      echo "<tr><td>".date("d.m.Y H:i:s",$key)."</td><td>$value</td></tr>".PHP_EOL;
    }
?>
</table>
</body>
</html>



Lesen Sie bitte auch: