Peatükk 18 · 18.1
Mijn website is wit of geeft een fout 500
Seda artiklit pole veel tõlgitud. Sa loed hollandikeelset versiooni.
Je opent je website en je ziet een wit scherm, de melding 500 Internal Server Error, HTTP ERROR 500 of bij WordPress Er is een kritieke fout opgetreden op deze website. Dat betekent bijna altijd dat de code van je website vastloopt. De server zelf doet het meestal gewoon. Met de stappen hieronder vind je in de meeste gevallen zelf de oorzaak.
Eerst: wat is er net veranderd?
Een fout 500 komt bijna nooit uit het niets. Denk terug aan de laatste uren of dagen:
- Heb je een plugin, thema of WordPress zelf bijgewerkt, of deed WordPress dat automatisch?
- Heb je de PHP-versie gewijzigd?
- Heb je iets aangepast in het bestand .htaccess, of een doorsturing of beveiligde map aangemaakt?
- Heb je bestanden geüpload of rechten van bestanden veranderd?
Weet je wat het was, draai dan eerst precies die wijziging terug. Dat is meestal de snelste oplossing.
Stap 1: kijk in het foutlog
Het foutlog vertelt je precies welk bestand en welke regel de fout veroorzaakt. Je vindt het in DirectAdmin onder Systeem Info & Bestanden en dan Siteoverzicht & logboeken. Kies je domein en open het foutlog. Kijk naar de onderste regels: die zijn het nieuwst. Hoe dat precies werkt, lees je in Siteoverzicht en logboeken: het foutlog en het toegangslog.
Zie je daar bijvoorbeeld PHP Fatal error met een pad naar wp-content/plugins/naam-van-plugin, dan weet je meteen welke plugin de boosdoener is.
Stap 2: de meest voorkomende oorzaken
Hieronder staan de oorzaken van vaak naar zelden.
1. Een plugin of thema na een update
Dit is verreweg de meest voorkomende oorzaak bij WordPress. Kom je niet meer in het beheer van WordPress, zet de plugins dan uit via DirectAdmin:
- Open Bestandsbeheer (zie Bestandsbeheer openen: de mappen in je pakket).
- Ga naar domains/jouwdomein.nl/public_html/wp-content.
- Hernoem de map plugins naar bijvoorbeeld plugins-uit. WordPress zet dan alle plugins uit.
- Werkt je site weer? Hernoem de map terug naar plugins en zet in WordPress de plugins één voor één weer aan, tot de fout terugkomt. Dan weet je welke het is.
Weet je al welke plugin het is (uit het foutlog), hernoem dan alleen de map van die plugin. WordPress stuurt bij een kritieke fout vaak ook een mail naar het beheerdersadres met een link naar de herstelmodus. Kijk dus ook in je mailbox.
2. De PHP-versie past niet bij je website
Een oude website werkt vaak niet op een nieuwe PHP-versie, en een nieuwe plugin soms niet op een oude. Heb je de PHP-versie net gewijzigd, zet hem dan terug in Select PHP version (zie De PHP-versie kiezen (Select PHP version)). In Fouten na een PHP-upgrade en het foutlog vinden lees je hoe je daarna de site alsnog geschikt maakt voor een nieuwere versie.
Tip: Is je website al jaren niet bijgewerkt en werkt hij niet meer op een moderne PHP-versie? Wij kunnen hem voor je bijwerken. Kijk op www.weboke.nl/website-php-upgrade.
3. Een fout in .htaccess
Eén verkeerde regel in .htaccess geeft direct een fout 500 voor de hele site. Een bekend voorbeeld is een regel die een beveiligingsplugin achterliet, zoals php_value auto_prepend_file met een pad naar een bestand dat niet meer bestaat (bijvoorbeeld van Wordfence of All In One WP Security). Test het zo:
- Zet in Bestandsbeheer de verborgen bestanden aan (zie Verborgen bestanden zoals .htaccess tonen en bewerken).
- Hernoem .htaccess in public_html naar .htaccess-oud.
- Werkt de site nu (eventueel zonder mooie adressen), dan zit de fout in dat bestand. Haal de foute regel weg en hernoem het bestand terug.
PHP-instellingen zoals de maximale uploadgrootte stel je het makkelijkst in bij Select PHP version (zie PHP-opties: upload_max_filesize, memory_limit en max_execution_time). Een regel met php_value in .htaccess kan ook (zie PHP-instellingen per map en via .htaccess).
4. Te weinig geheugen voor PHP
Staat er in het foutlog Allowed memory size of ... bytes exhausted, dan heeft een script meer geheugen nodig dan PHP mag gebruiken. Verhoog memory_limit bij de opties van Select PHP version (zie PHP-opties: upload_max_filesize, memory_limit en max_execution_time).
5. Verkeerde bestandsrechten
Hebben mappen of bestanden te ruime rechten (zoals 777), dan weigert de server ze uit te voeren. Mappen horen op 755 te staan en bestanden op 644. Hoe je dat aanpast, lees je in Rechten van bestanden en mappen (chmod).
6. De opslag van je pakket is vol
Is je pakket vol, dan kan je website geen tijdelijke bestanden of sessies meer wegschrijven. Kijk op het dashboard van DirectAdmin bij Schijfruimte. Wat je dan doet, lees je in Opslag vol: waar zit de ruimte?.
7. Minder vaak: database, limieten of een hack
- Zie je Error establishing a database connection? Lees 'Error establishing a database connection'.
- Zie je een 503 of Resource Limit Is Reached? Dan loopt je pakket tegen zijn rekenkracht aan. Lees 503 of 'Resource Limit Is Reached': wat nu?.
- Staan er bestanden die je niet kent, of stuurt je site bezoekers naar vreemde websites? Lees Mijn website is gehackt: stappenplan.
Een wit scherm zonder melding
Bij een wit scherm laat PHP de foutmelding bewust niet zien aan bezoekers. Het foutlog uit stap 1 is dan je beste bron. Bij WordPress kun je ook tijdelijk define('WP_DEBUG', true); in wp-config.php zetten. Zet het daarna weer op false, anders zien bezoekers technische details van je site.
Andere foutcodes in het kort
| Melding | Wat betekent het? | Waar lees je verder? |
|---|---|---|
| 403 Forbidden | De server weigert de pagina te tonen, bijvoorbeeld door de firewall van je website, rechten of een ontbrekend index-bestand. | Fout 403 of 406 bij het opslaan of uploaden |
| 404 Not Found | De pagina of het bestand bestaat niet op die plek. Staat je website wel in public_html van het juiste domein? Let op hoofdletters in bestandsnamen. | Bestandsbeheer openen: de mappen in je pakket |
| 413 Request Entity Too Large | Wat je uploadt is groter dan is toegestaan. | Upload te groot (fout 413) of time-out |
| 500 Internal Server Error | De code van je website loopt vast. | Dit artikel |
| 503 of 508, Resource Limit Is Reached | Je pakket gebruikt tijdelijk meer rekenkracht dan toegestaan. | 503 of 'Resource Limit Is Reached': wat nu? |
| Pagina van WebOké in plaats van je site | Het domein staat nog niet (goed) in je hostingpakket, of de DNS wijst nog ergens anders heen. | Mijn domein werkt nog niet na een verhuizing of wijziging |
Terug naar een werkende versie
Kom je er niet uit en werkte de site gisteren nog wel? Zet dan een back-up terug. In Mijn WebOké kan dat met WebOké Backups: kies een moment van voor de fout en zet alleen de map van je website en eventueel de database terug (zie Kan dit ook in Mijn WebOké? WebOké Backups). Maak je gebruik van Installatron, dan kun je ook een back-up van Installatron terugzetten (zie Back-ups maken en terugzetten in Installatron).
Tip: Met Domein gezondheid op www.weboke.nl/domein-gezondheid zie je in één keer of je domein, het A-record, de website en het SSL-certificaat in orde zijn. Bij Website staat dan bijvoorbeeld Reageert met een serverfout (HTTP 500).
