wake-up-neo.com

500 Internal Server Error für PHP-Datei nicht für HTML

Meine Website hat nur 4-5 statische Seiten. index.html & index.php beide sind da. index.html funktioniert gut. Wenn ich zu index.php wechsle, gibt es 500 Internal Server Error. Ich weiß nicht, wo mein Fehler ist?

Hinweis: Wenn ich .htaccess Datei mit php_flag display_errors 1,

Es zeigt Additionally, a 500 Internal Server Error error was encountered while trying to use an ErrorDocument to handle the request.

Wenn ich . Htaccess Datei mit empty benutze,

Es zeigt Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.

Und wenn ich ../contact-us.php, es wird korrekt angezeigt.

Vielen Dank...

65
KarSho

500 Internal Server Error wird angezeigt, wenn Ihr PHP-Code schwerwiegende Fehler aufweist, die Fehleranzeige jedoch ausgeschaltet ist. Sie können dies versuchen, um den Fehler selbst anstelle von 500 Fehlerseiten zu sehen:

In Ihrer PHP-Datei:

ini_set('display_errors', 1);

In der .htaccess-Datei:

php_flag display_errors 1
134
Hast

Für eine PHP Datei müssen die Berechtigungen 644 festgelegt sein. Jeder Ordner mit PHP Dateien und PHP Zugriff (zum Hochladen von Dateien, Zum Beispiel muss die Berechtigung auf 755 gesetzt sein. PHP führt einen 500-Fehler aus, wenn Dateien oder Ordner bearbeitet werden, für die die Berechtigung auf 777 gesetzt ist!

66
David Valenza

Ich weiß, dass diese Frage alt ist, aber ich bin auf dieses Problem unter Windows 8.1 gestoßen, als ich versucht habe, .htaccess-Dateien zum Umschreiben zu verwenden. Meine Lösung war einfach, ich habe vergessen, die folgende Zeile in httpd.conf zu ändern

#LoadModule rewrite_module modules/mod_rewrite.so

zu

LoadModule rewrite_module modules/mod_rewrite.so

Neustart des Apache-Monitors, jetzt funktioniert alles einwandfrei. Veröffentlichen Sie dies einfach als Antwort, da möglicherweise in Zukunft jemand mit einer einfachen Korrektur auf dasselbe Problem stößt.

Viel Glück!

2
Winter

Ich hatte dieses Problem, weil ich versuchte, eine Verbindung zu MySQL herzustellen, aber ich hatte nicht das erforderliche Paket. Ich habe es durch @ Amadans Kommentar herausgefunden, um das Fehlerprotokoll zu überprüfen. In meinem Fall hatte ich den Fehler: Call to undefined function mysql_connect()

Wenn Ihre PHP Datei einen Code für die Verbindung mit einer My-SQL-Datenbank enthält, müssen Sie möglicherweise zuerst php5-mysql Installieren. Ich habe diesen Fehler erhalten, weil ich ihn nicht installiert habe Alle meine Dateiberechtigungen waren gut. In Ubuntu können Sie es mit dem folgenden Befehl installieren:

Sudo apt-get install php5-mysql

2

Es änderte die Zeilenenden (von Windows CRLF zu Unix LF) in der .htaccess Datei, die es für mich behoben hat.

2
Saran

Google führt mich hierher, hat aber meine Probleme nicht behoben. Dies ist eine sehr allgemeine Frage und es gibt verschiedene Ursachen. Ich poste mein Problem und meine Lösung hier als Referenz, falls jemand dies später lesen sollte.

Eine andere mögliche Ursache für 500 Fehler ist ein Syntaxfehler in der header(...) -Funktion, wie diese:

header($_SERVER['SERVER_PROTOCOL'] . '200 OK');

Beachten Sie, dass zwischen dem Serverprotokoll und dem Statuscode ein Leerzeichen eingefügt werden muss.

header($_SERVER['SERVER_PROTOCOL'] . ' 200 OK');

Ich schlage daher vor, Ihren HTTP-Header-Aufruf zu überprüfen, wenn Sie ihn in Ihrem Code haben.

0
Lin