• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

Variable / Array verursacht Internal Server Error

jack-x

New member
Erstmal ein Hallo an alle.

Ich habe eine Seite bei strato laufen. Als ich Ende letztes Jahr in meiner Hintergrundprogrammierung unterwegs war, lief noch alles enwandfrei.
Seit kurzem versuche ich mich vergeblich einzuloggen. Ständig kam die Fehlermeldung 'Internal Server Error'. Durch die ErrorLog und herumexperimentieren bin ich dann endlich darauf gekommen, das ein Array diesen Fehler verursacht.

Wird diese Zeile ausgeführt hängt der Server
PHP:
$cms_user = mysql_fetch_assoc($ressource);

Am MySQL kann es nicht liegen, denn
PHP:
var_dump(mysql_fetch_assoc($ressource));
liefert korrekte Werte.

In einer anderen Datei wird ganz am Anfang
PHP:
...
global $cms_user;
global $cms_report_error;
...
und so weiter deklariert.

Ein paar Zeilen später setze ich zum Beispiel
PHP:
$cms_report_error = array();
funktioniert ohne Probleme.
Mache ich das selbe aber mit der $cm_user => Internal Server Error;

Ich bin mit meiner Weisheit am Ende. Wer kann mir weiterhelfen?
 
Nein. Denn keiner weiß wovon du sprichst.

Wie soll man es sonst formuliern???

Sobald das Array erstellt werden soll
PHP:
$cms_user = array();

[I]oder[/I]

$cms_user = mysql_fetch_assoc($ressource);
stürzt die Seite mit 'Internal Server Error' ab.


Und zum Geltungsbereich. Vielleicht nur eine veraltete Angewohnheit als die register_globels off gingen. Und ich es erlebt habe, das nicht alle Variabeln zur Verfügung standen.
 
Internal server Error bedeutet i.d.R., dass der Server Prozess / Thread aufgrund eines nichtignorierbaren Fehlers ausgesteiegen ist. In solchen Fällen sollte aber die error.log von Apache Auskunft über die Ursache geben.
 
Die ErrorLog gab nur folgenden Fehler:
HTML:
Premature end of script headers: index.php, referer: .........

Habe dann an den Schreibrechten von Ordnern und Dateien rumgebastelt. Keine Veränderung.
Nach und nach die einzubindenen Dateien auskommentiert bis ich die 'fehlerhafte' Datei hatte. Also selbes Spielchen mit dem Code auskommentieren in der Datei. Alles läuft bis die Zeile
PHP:
$cms_user = array();
kommt.
Und egal in welcher Datei ich diese Zeile teste:
HTML:
Premature end of script headers: index.php, referer: .........

Die Seite lief über ein Jahr ohne diesen Fehler. Und der selbe Code läuft auf drei anderen Domains ohne Probleme!
 
Wenn der Fehler in einer Datei auftaucht, welche nur den folgenden Inhalt enthält:
PHP:
<?php
$cms_user = array ();

Dann würde ich mal stark davon ausgehen, dass der Fehler außerhalb der PHP-Datei liegt, sprich in der zuständigen .htaccess oder in der PHP oder Apache Konfiguration.

Wenn es dagegen mit meinem extrem verkürzten Beispiel funktioniert, so könnte der Fehler an anderer Stelle zu suchen sein. Dazu kennen wir aber zu wenig von Deinem System, und Du wirst selbst Hand anlegen müssen, in Form von aktiviertem Error Reporting und ggfs. eingebauten Debug und Log Ausgaben.
 
Zurück
Oben