cgi_error.log

Im Webspace Ihrer Homepage finden Sie die Datei cgi_error.log. In dieser Log-Datei werden fehlerhafte Ausgaben Ihrer Skripte dokumentiert.

Als Beispiel eine Zeile in dieser Logdatei:


[Thu Oct 19 14:31:48.741510 2017] [authz_core:error] [pid 18:tid 140200158033664] [client 192.168.254.85:65535] AH01630: client denied by server configuration: /home/www/public_html/nc/data/.ocdata


 

Aber was bedeutet das im Detail? Wir zerlegen diese Zeile mal:

  • [Thu Oct 19 14:31:48.741510 2017] - Datum und Uhrzeit (Timestamp), zu dem der Eintrag in der Logdatei (und damit der Fehler oder Hinweis) erfolgte.
  • [authz_core:error]  - Art des Fehlers. In diesem Fall ein Authentifzierungsfehler. 
  • [pid 18:tid 140200158033664] - Ihre Homepage wird in einem virtuellen Instanz ausgeführt. die pid und die tid weisen auf diese Instanz hin. Diese Informationen ist für Sie nicht relevant, das Sie darauf keinen Einluss haben.
  • [client 192.168.254.85:65535] - Hier erscheint die IP-Adresse des Users, der das Skript aufgerufen hat (aktuell wird hier auf Grund eines Fehlers eine interne IP-Adresse angezeigt)
  • AH01630: client denied by server configuration: /home/www/public_html/nc/data/.ocdata - der eigentliche Fehler mit dem Hinweis auf den Fehlerort.

Beispiele für Fehler-Arten:

PHP Notice
Enthält eine Zeile diesen Eintrag, handelt es sich dabei lediglich um einen Hinweis auf unsaubere Programmierung. Es gibt keine offensichtliche Einschränkung bei der Verwendung des betreffenden Skriptes.

Über die user.ini können Sie die Ausgabe von PHP Notice auch unterbinden.

Use of undefined constant
In einer Zeile steht

PHP Notice:  Use of undefined constant demo - assumed 'demo' in /home/www/public_html/1/test.php on line 6

In dem Fall haben Sie in der Datei test.php in der Zeile 6 etwas stehen wie:

echo $_POST[demo];

korrekt wäre aber

echo $_POST['demo'];

PHP Notice:  Undefined variable
Für den Eintrag

PHP Notice:  Undefined variable: demo in /home/www/public_html//demo.php on line 102

ist meistens eine ungültige oder falsche MySQL-Abfrage ursächlich. Es bedeutet, dass eine Variable abgefragt wird, welche aber leer ist.

thrown in /home/www/public_html/db_connect.inc.php on line 4
Vermutlich haben Sie in Zeile 4 der Datei db_connect.inc.php 

$link = mysql_connect($host, $sqluser, $sqlpass);

stehen. Da aber PHP 7 auf ihrem Webspace aktiviert ist, kann der Befehl "mysql_connect" nicht mehr ausgeführt werden. Als schnelle Lösung wechseln Sie über das Homepagecenter auf PHP 5.6.

PHP Warning:  session_write_close(): open(/home/www/temp/) failed: No such file or directory
In diesem Fall wurde der Ordner temp im Verzeichnis /home/www nicht angelegt. Dieses können Sie ganz einfach per FTP oder über den Dateimanager nachholen.

mod_fcgid: HTTP request length 15736640 (so far) exceeds MaxRequestLen (15728640)
Hier muss der Wert für die Servervariable FcgidMaxRequestLen erhöht werden. Dazu erstellen Sie die Konigurationsdaten httpd.conf (wie z. B. unter https://homepagecenter.telekom.de/index.php?id=690 beschrieben) und tragen hier an den Anfang der Datei

FcgidMaxRequestLen 100000000

ein. Der Wert muss natürlich höher als die Angabe in der Fehlermeldung sein.

Weitere Beispiele:

  • sendmail: Sent mail for cgiuser@homepage.t-online.de (221 workplace.t-online.de) - Es wurde eine E-Mail erfolgreich versendet (keine Fehlermeldung!)

  • sendmail: 451 4.7.0 Mail limit exceeded - Diese Meldung weißt darauf hin, das über Ihre Instanz innerhalb einer Stunde mehr als 500 Mails versandt wurden.

  • sendmail: 554 5.5.4 Mail is classified as spam - Eine von Ihrer Homepage generierte Mail wurde als Spam eingestuft und nicht versandt.

  • PHP Fatal error: Allowed memory size of xxxx bytes exhausted (tried to allocate xxxx bytes) in /home/www/cms/xxxx/xxxx.php on line 569 - Diese Meldung sagt aus, dass bei der Ausführung eines bestimmten Skriptes nicht genügend Arbeitsspeicher zur Verfügung steht. In diesem Fall kann man über die user.ini den Arbeitsspeicher erhöhen.