Beoordeel dit artikel :
Dit artikel was nuttig voor jou ?
Ja
Geen
Vous avez noté 0 étoile(s)
Sommaire
Procédure
Error 500 is een paginastatuscode die staat voor Interne Serverfout. Het betekent dat er een fout is opgetreden in de webserver. Deze kan afkomstig zijn van de Apache2-webserver, van de PHP-interpreter, die de fout doorgeeft aan de webserver, of van de MySQL-database, die de fout doorgeeft aan PHP en op zijn beurt doorgeeft aan de webserver. Het ziet er als volgt uit:

Bij sommige andere browsers ziet u misschien gewoon een lege pagina zonder inhoud:

Voor Prestashop sites, ziet u een fout pagina gegenereerd door Prestashop :

Om het probleem te diagnosticeren, is het praktischer om de fouten direct op uw website weer te geven (zelfs als ze zichtbaar zijn in het bestand error.log in de logboekmap die toegankelijk is via uw FTP-account.
Om PHP-fouten weer te geven, moet je het php.ini-bestand voor de betreffende website aanpassen. Klik in ISPConfig op Sites en selecteer vervolgens de betreffende website:

Klik vervolgens op het tabblad "Options" en voeg de volgende regel toe aan het veld "Custom php.ini settings":
display_errors = On

Het is ook raadzaam om de volgende regel toe te voegen om ervoor te zorgen dat fouten worden gerapporteerd, zodat ze worden weergegeven op het scherm (in het geval dat het script dit standaard uitschakelt):
error_reporting = E_ALL
Sommige CMS en frameworks zoals WordPress, Prestashop, Symfony, Laravel, enz. kunnen het feit negeren dat display_errors is ingesteld op On in PHP, omdat ze hun eigen foutbeheersystemen hebben.
Om de foutopsporingsmodus in te schakelen op een WordPress-gebaseerde site, moet je het bestand wp-config.php aanpassen door de waarde van WP_DEBUG in te stellen op true en WP_DEBUG_DISPLAY ook op true.
Als WP_DEBUG_DISPLAY niet in wp-config.php staat, moet je het na WP_DEBUG toevoegen:
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_DISPLAY', true);
Om de foutopsporingsmodus in te schakelen op Prestashop, moet je het bestand config/defines.inc.php aanpassen. Stel in dit bestand _PS_MODE_DEV_ in op true.
define('_PS_MODE_DEV_', true);
Om de foutopsporingsmodus in te schakelen in Joomla, moet je het configuration.php bestand aanpassen. Stel in dit bestand $debug in op 1 en $error_reporting op maximum.
public $debug = '1';
public $error_reporting = 'maximum';
Om de debugmodus te activeren op Laravel, moet je het .env-bestand aanpassen door APP_DEBUG op true te zetten:
APP_DEBUG=true
Vervolgens moet je de cache van het configuratiebestand verwijderen. Voer op je console het volgende commando uit:
php artisan config:clear
De tweede belangrijkste stap is om de fouten te begrijpen en een oplossing te vinden.
De "parse error" en "syntax error" fouten worden veroorzaakt door slecht geschreven PHP code: geen puntkomma aan het einde, haakjes die niet sluiten, omgekeerde komma's, etc. U moet het script op uw website controleren.
Bepaalde syntaxen kunnen ook alleen problemen veroorzaken bij bepaalde PHP-versies, omdat de PHP-syntax tussen verschillende versies evolueert. Het gebruik van vierkante haken om een array te declareren werkt bijvoorbeeld wel in PHP 7.2, maar niet in PHP 7.4.
Het is daarom de moeite waard omde PHP-versie te controleren enaan te passen aan de specifieke kenmerken van je website.
Wanneer deze fout optreedt, bestaat de functie die PHP probeert aan te roepen niet. Dit probleem doet zich voor wanneer bestanden ontbreken of onvolledig zijn op je website.
Deze foutmelding geeft aan dat de functie mysql_connect() niet bestaat. In feite bestaat deze functie niet meer op PHP 7.0 en later. Je zult een PHP 5.x versie moeten gebruiken om je website te laten werken.
Wanneer deze fout optreedt, is dezelfde functienaam meerdere keren gedeclareerd. Dit probleem treedt vooral op wanneer plugins, thema's, modules, enz. dezelfde functienaam gebruiken.
Dit betekent dat het maximaal toegestane RAM-geheugen is overschreden. Dit probleem treedt op wanneer u de memory_limit overschrijdt die is opgegeven op uw website.
De aanbevolen waarden die vooraf op uw VPS-pakket zijn geïnstalleerd, zijn als volgt:
memory_limit=1024M (1 GB)geheugenlimiet=2048M (2 GB)geheugenlimiet=4096M (4 GB)geheugenlimiet=6144M (6 GB)geheugenlimiet=7168M (7 GB)geheugenlimiet=8192M (8 GB)geheugenlimiet=9216M (9 GB)geheugenlimiet=12288M (12 GB)Als u echter de memory_limit waarde wilt aanpassen, kunt u dit doen vanuit ISPConfig.
Voeg in het tabblad "Options " van je ISPConfig website de regel memory_limit toe aan de PHP.INI directives:

Meer informatie over dit onderwerp: Hoe wijzig ik het php.ini bestand op mijn VPS server via ISPConfig?
Deze foutmelding is gekoppeld aan het feit dat uw PHP script er langer over doet om een resultaat te produceren dan uw php.ini parameters toestaan.
Om dit probleem op te lossen, kunt u de maximale uitvoeringstijd verhogen. Nog steeds in het tabblad 'Opties' van uw ISPConfig website, voegt u de volgende regel toe aan de PHP.INI richtlijnen:
max_execution_time = 1800
Hier hebben we 1800 seconden ingesteld, of 30 minuten.
Belangrijk: Als de uitvoeringstijd van PHP te lang is, kan het zijn dat Apache2 niet tot het einde kan wachten. Als gevolg daarvan zal Apache2 een 503-fout naar je bezoeker sturen (een 522- of 524-fout als je CloudFlare gebruikt). Het is daarom belangrijk om deze waarde zo laag mogelijk te houden. We raden u aan om deze op 30 seconden in te stellen(max_execution_time = 30), tenzij u van plan bent om massale import- of exportbewerkingen uit te voeren op uw sites.
Dit geeft aan dat de MySQL gebruiker of het wachtwoord dat u gebruikt onjuist is.

Voorbeeld van een foutpagina "Toegang geweigerd" op Prestashop
Als u WordPress gebruikt, kan de foutmelding anders zijn:
Fout bij het maken van een databaseverbinding
Om te controleren of een MySQL gebruiker/wachtwoord combinatie functioneel is, raad ik u aan om naar phpMyAdmin te gaan en deze te gebruiken.

Als phpMyAdmin ook zo'n foutmelding geeft, dan is je MySQL gebruiker of wachtwoord onjuist. U kunt het dan opnieuw instellen in ISPConfig.

Deze foutmelding is gekoppeld aan het feit dat uw website probeert verbinding te maken met uw MySQL server via een Unix socket in plaats van een TCP verbinding.
De Unix socket die het probeert te gebruiken is echter niet toegankelijk op zijn niveau (bijvoorbeeld vanwege de openbase_dir beperking).
Om dit probleem op te lossen, moet u uw website dwingen om de TCP-verbinding te gebruiken door "localhost " te vervangen door "127.0.0.1 " in de MySQL serverparameter van uw website.
Voor Prestashop 1.6 moet u het bestand config/settings.inc.php bewerken:

Voor Prestashop 1.7 moet u het bestand app/config/parameters.php bewerken:
[...] 'database_host' => '127.0.0.1', [...]
Voor een WordPress site moet u het wp-config.php bestand bewerken:
[...] define('DB_HOST', '127.0.0.1'); [...]
Voor een Joomla site moet u het configuration.php bestand bewerken:
[...] public $host = '127.0.0.1'; [...]
Beoordeel dit artikel :
Dit artikel was nuttig voor jou ?
Ja
Geen
2mn lezen
Hoe maak ik een FTP account aan in ISPConfig?
0mn lezen
SFTP-verbinding
1mn lezen
Hoe activeer ik SSL op mijn site met ISPConfig 3?
0mn lezen
Hoe verander ik het FTP-wachtwoord van IspConfig?