Ein Internal Server Error kann mehrere Fehlerquellen haben:
Dateien, die mit Oktal-Rechten wie 0777 versehen sind, können von jeder Person auf dem Server überschrieben werden. Dies ist keine Sicherheitslücke, sondern ein reguläres Verhalten. Mit den Okatal-Rechten 0777 erhält die Gruppe other (also jeder Benutzer) die Rechte an der Datei. Aus Sicherheitsgründen wird bei Dateien oder Ordnern, die mit diesen Rechten versehen sind, ein Internal Server Error angezeigt. Rechte an deinen Dateien oder Verzeichnissen kannst du mit entsprechenden Protokollen (FTP, SSH, SCP) korrigieren.
Wichtig: Normalen Dateien (PHP-Skripte, HTML-Dateien) solltest du die Oktal-Rechte 0644 zuweisen, während Verzeichnisse sowie Perl-Skripte die Oktal-Rechte 0755 erhalten sollten. Ein Zuweisen höherer Oktal-Rechte als 0755 ist nicht notwendig und führt bei der Ausführung von Skripten zu nicht gewollten Ergebnissen sowie Fehlern.
Ebenfalls kann die Laufzeit deiner Skripte zu einem Fehler führen. Das System ist so konfiguriert, dass Skripte oder Programme mit einer entsprechend hohen Laufzeit terminiert werden. Bitte achte darauf, dass deine Skripte und Anwendungen so ressourcenschonend wie möglich programmiert werden. Diese Maßnahmen stellen sicher, dass die Server immer unter nominaler Last arbeiten.
Ein weiterer Grund für eine entsprechende Fehlermeldung könnte sein, dass du eine .htaccess Datei (evtl. auch unwissentlich) hochgeladen hast, die nicht erlaubte Argumente (wie z.B. PHP-Flags) enthält. Bitte beachte, dass Dateien mit einem vorangestellten Punkt von den meisten Server-Systemen (Unix, Linux, etc.) als eine versteckte Datei interpretiert werden. Dadurch werden diese Dateien in vielen FTP- oder Dateiverwaltungsprogrammen nicht direkt angezeigt. Über entsprechede Einstellungen in diesen Programmen (siehe Anleitung / Handbuch) kann man sich meist diese versteckten Dateien anzeigen lassen.
Erfahrungsgemäß ist der häufigste Grund für das Auslösen des Fehlers, wenn das Skript nicht im ASCII, sondern im Binary Modus hochgeladen wurde. Übertrage bitte deine Skripte immer nur im ASCII Modus auf den Server und achte darauf, dass sich keine Windows-Steuerzeichen in dem Skriptcode befinden.