Diesen Artikel bewerten :
Dieser Artikel war hilfreich für Sie ?
Ja
Nicht
Vous avez noté 0 étoile(s)
Sommaire
Procédure
Fehler 500 ist ein Seitenstatuscode, der für Internal Server Error steht, wörtlich übersetzt "interner Serverfehler". Das bedeutet, dass ein Fehler auf der Ebene des Webservers aufgetreten ist. Dies kann vom Apache2-Webserver ausgehen, vom PHP-Interpreter, der den Fehler an den Webserver weitergeleitet hat, oder von der MySQL-Datenbank, die den Fehler auf PHP-Ebene weitergeleitet hat und ihn wiederum an den Webserver weitergeleitet hat. Das sieht in etwa so aus:
Was einige andere Browser betrifft, so sehen Sie möglicherweise nur eine weiße Seite ohne Inhalt :
Bei Prestashop-Websites sehen Sie eine von Prestashop erzeugte Fehlerseite :
Um das Problem zu diagnostizieren, ist es praktischer, die Fehler Ihrer Website direkt auf der Website anzuzeigen (auch wenn diese in der Datei error.log
im Ordner log
sichtbar sind, auf den Sie über Ihr FTP-Konto zugreifen können.
Um PHP-Fehler anzuzeigen, müssen Sie die php.ini-Datei
der betreffenden Website bearbeiten. Klicken Sie in ISPConfig auf Sites und wählen Sie die betreffende Website aus:
Klicken Sie dann auf die Registerkarte " Optionen " und fügen Sie im Feld "Custom php.ini settings" die folgende Zeile hinzu:
display_errors = On
Es ist auch ratsam, die folgende Zeile hinzuzufügen, um sicherzustellen, dass Fehler richtig gemeldet werden, damit sie auf dem Bildschirm angezeigt werden (für den Fall, dass das Skript dies standardmäßig deaktiviert):
error_reporting = E_ALL
Einige CMS und Frameworks wie WordPress, Prestashop, Symfony, Laravel, ... können die Tatsache, dass display_errors
auf PHP-Ebene auf On
steht, ignorieren, da sie ihre eigenen Fehlerbehandlungssysteme haben.
Um den Debugging-Modus einer auf WordPress basierenden Seite zu aktivieren, müssen Sie die Datei wp-config.php
ändern, indem Sie den Wert von WP_DEBUG
auf true
und WP_DEBUG_DISPLAY
ebenfalls auf true
setzen.
Wenn WP_DEBUG_DISPLAY
nicht in wp-config.php
enthalten ist, müssen Sie es nach WP_DEBUG
hinzufügen:
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_DISPLAY', true);
Um den Debugging-Modus auf Prestashop zu aktivieren, müssen Sie die Datei config/defines.inc.php
bearbeiten. In dieser Datei müssen Sie _PS_MODE_DEV_
auf true
setzen.
define('_PS_MODE_DEV_', true);
Um den Debugging-Modus in Joomla zu aktivieren, müssen Sie die Datei configuration.php
bearbeiten. In dieser Datei müssen Sie $debug
auf 1
und $error_reporting
auf Maximum
setzen.
public $debug = '1';
public $error_reporting = 'maximum';
Um den Debugging-Modus in Laravel zu aktivieren, müssen Sie die .env-Datei
von Laravel ändern, indem Sie APP_DEBUG
auf true
setzen:
APP_DEBUG=true.
Anschließend müssen Sie den Cache der Konfigurationsdateien löschen. Führen Sie auf Ihrer Konsole den folgenden Befehl aus:
php artisan config:clear
Der zweitwichtigste Schritt ist es, die Fehler zu verstehen und eine Lösung anzubieten.
Die Fehler "parse error" und "syntax error" entstehen, wenn der PHP-Code nicht richtig geschrieben ist: fehlendes Semikolon am Ende, Klammern, die sich nicht schließen, Anführungszeichen, ... In diesem Fall wird es notwendig sein, das Skript Ihrer Website zu überprüfen.
Manche Syntax kann auch nur bei bestimmten PHP-Versionen Probleme bereiten, da sich die Syntax von PHP zwischen verschiedenen Versionen ändert. Beispielsweise funktioniert die Verwendung von eckigen Klammern zur Deklaration eines Arrays in PHP 7.2, während dies in PHP 7.4 nicht der Fall ist.
Es lohnt sich also,die PHP-Version zu überprüfen und an die Besonderheiten Ihrer Websiteanzupassen.
Wenn dieser Fehler auftritt, existiert die Funktion, die PHP aufrufen will, nicht. Dieses Problem tritt auf, wenn Dateien auf Ihrer Website fehlen oder unvollständig sind.
Diese Fehlermeldung zeigt an, dass die Funktion mysql_connect()
nicht existiert. Tatsächlich gibt es diese Funktion in PHP 7.0 und höher nicht mehr. Sie müssen PHP 5.x verwenden, damit Ihre Website funktionieren kann.
Wenn dieser Fehler auftritt, wurde derselbe Funktionsname mehrfach deklariert. Dieses Problem tritt insbesondere dann auf, wenn Plugins, Themen, Module, ... denselben Funktionsnamen verwenden.
Dies bedeutet, dass die maximal zulässige RAM-Speichergröße überschritten wurde. Dieses Problem tritt auf, wenn Sie den auf Ihrer Website angegebenen memory_limit
überschreiten.
Die empfohlenen und vorinstallierten Werte auf Ihrem VPS-Paket sind wie folgt:
memory_limit=1024M
(1 GB)memory_limit=2048M
(2 GB)memory_limit=4096M
(4 GB)memory_limit=6144M
(6 GB)memory_limit=7168M
(7 GB)memory_limit=8192M
(8 GB)memory_limit=9216M
(9 GB)memory_limit=12288M
(12 GB).Wenn Sie den Wert von memory_limit
jedoch anpassen möchten, können Sie dies über ISPConfig tun.
Ebenfalls auf der Registerkarte " Optionen " Ihrer Website in ISPConfig, empfehle ich Ihnen, die Zeile memory_limit
zu den PHP.INI -Direktiven hinzuzufügen :
Weitere Informationen zu diesem Thema: Wie ändere ich die php.ini-Datei meines VPS-Servers über ISPConfig?
Diese Fehlermeldung ist darauf zurückzuführen, dass Ihr PHP-Skript länger braucht, um ein Ergebnis zu erzielen, als es Ihre php.ini-Einstellungen
erlauben.
Um dieses Problem zu beheben, können Sie die maximale Ausführungszeit erhöhen. Fügen Sie auf der Registerkarte "Optionen" Ihrer Website in ISPConfig die folgende Zeile zu den PHP.INI-Direktiven hinzu:
max_execution_time = 1800
Hier haben wir 1800 Sekunden eingestellt, was 30 Minuten entspricht.
Wichtig ist: Wenn die Ausführungszeit von PHP zu groß ist, kann Apache2 möglicherweise nicht bis zum Ende warten. Infolgedessen wird Apache2 einen Fehler 503 an Ihren Besucher senden (einen Fehler 522 oder 524, wenn Sie CloudFlare verwenden). Es ist dann wichtig, diesen Wert so klein wie möglich zu halten. Wir empfehlen, ihn auf 30 Sekunden zu setzen(max_execution_time = 30), es sei denn, Sie planen, auf Ihren Seiten massenhafte Import- oder Exportvorgänge durchzuführen.
Dies zeigt an, dass der MySQL-Benutzer oder das Passwort, das Sie verwenden, falsch ist.
Beispiel für eine Fehlerseite des Typs "Access Denied" auf Prestashop.
Wenn Sie auf WordPress sind, kann die Fehlermeldung anders lauten:
Error establishing a database connection (Fehler beim Herstellen einer Datenbankverbindung).
Um zu überprüfen, ob eine MySQL-Benutzer/Passwort-Kombination funktionstüchtig ist, sollten Sie phpMyAdmin aufrufen und diese verwenden.
Wenn phpMyAdmin auch einen Fehler wie diesen anzeigt, dann ist Ihr MySQL-Benutzer oder -Passwort falsch. Sie können es dann über ISPConfig zurücksetzen.
Diese Fehlermeldung hängt damit zusammen, dass Ihre Website versucht, eine Verbindung zu Ihrem MySQL-Server über einen Unix-Socket anstelle einer TCP-Verbindung herzustellen.
Der Unix-Socket, den sie zu verwenden versucht, ist jedoch auf ihrer Ebene nicht zugänglich (z. B. aufgrund der openbase_dir-Beschränkung
).
Um dieses Problem zu lösen, müssen Sie Ihre Website zwingen, eine TCP-Verbindung zu verwenden, indem Sie in der Einstellung des MySQL-Servers Ihrer Website " localhost
" durch " 127.0.0.1
" ersetzen.
Für einen Prestashop 1.6 müssen Sie die Datei config/settings.inc.php
bearbeiten:
Für einen Prestashop 1.7 müssen Sie die Datei app/config/parameters.php
editieren:
[...] 'database_host' => '127.0.0.1', [...].
Für eine WordPress-Website müssen Sie die Datei wp-config.php
bearbeiten:
[...] define('DB_HOST', '127.0.0.1'); [...].
Für eine Joomla-Website müssen Sie die Datei configuration.php
bearbeiten:
[...] public $host = '127.0.0.1'; [...].
Diesen Artikel bewerten :
Dieser Artikel war hilfreich für Sie ?
Ja
Nicht
2mn von Lesen
Wie kann ich unter ISPConfig einen FTP-Account einrichten?
0mn von Lesen
SFTP-Verbindung
1mn von Lesen
Wie aktiviere ich SSL auf meiner Seite mit ISPConfig 3?
0mn von Lesen
Wie kann ich das FTP-Passwort von IspConfig aus ändern?