In deze gids leer je hoe je PHP-fouten en meldingen (zoals veelvoorkomende PHP “deprecated” waarschuwingen) kunt verbergen of onderdrukken.
PHP-foutmeldingen uitschakelen #
- Login op https://cp.vcloudhosting.eu
- Open Websites in de linker zijbalk
- Selecteer de website waarvoor je de document root wilt wijzigen
- Kies Geavanceerd in het bovenste menu en selecteer het domein
- Kies Ontwikkelaarstools
- Scroll naar php.ini editor en klik op Richtlijn toevoegen
- Voer de gewenste error_reporting richtlijn in
De PHP-runtime instellingen binnen je eigen code kunnen bovenstaande instellingen die in php.ini zijn opgegeven overschrijven. Zoek in je PHP-scripts naar ini_set of error_reporting om te zien waar dit gebeurt.
Je kunt eventueel ook een lagere PHP-versie gebruiken die de functies waar jouw code van afhankelijk is niet als verouderd aanmerkt. Dit kan het probleem soms oplossen zonder aanpassingen aan scripts.
Gebruik van error reporting #
Hier volgt een overzicht van richtlijnen die je kunt aanpassen:
- error_reporting: bepaalt welke fouten en waarschuwingen moeten worden gemeld. Zet deze op 0 om alles uit te schakelen, maar dit wordt afgeraden in productie. Voor ontwikkeling kun je bijvoorbeeld E_ALL & ~E_NOTICE gebruiken.
- display_errors: bepaalt of fouten aan de gebruiker (in de browser) worden getoond. Zet deze op Off om fouten niet te tonen.
- log_errors: als je fouten wilt loggen in plaats van tonen, zet dit op On.
- error_log: hier kun je een pad naar een logbestand opgeven voor het loggen van fouten.
Bitmaskers voor error reporting
- E_ALL: rapporteert alle PHP-fouten en waarschuwingen.
- E_ERROR: rapporteert alleen fatale fouten.
- E_WARNING: rapporteert runtime-waarschuwingen (niet-fataal).
- E_NOTICE: rapporteert runtime-notificaties.
- E_PARSE: rapporteert (syntax) fouten bij het parsen.
- E_DEPRECATED: rapporteert verouderde functies.
- E_STRICT: geeft aanbevelingen voor betere code-compatibiliteit.
Je kunt deze foutniveaus combineren met bitwise AND (&), OR (|) en NOT (~).
Voorbeeld: om alle fouten behalve notices en strikte standaarden te tonen:
error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT