Custom 500 error pagina bij PHP (syntax) error

Plaats reactie
Gebruikersavatar
guntherstassen
Pro Member
Pro Member
Berichten: 311
Lid geworden op: 09 feb 2011, 20:16
Locatie: Sint-Truiden
Uitgedeelde bedankjes: 12 keer
Bedankt: 27 keer
Contacteer:

Hallo iedereen,

Ik ben mij al een halve dag aan het rot zoeken hoe ik een custom 500 error pagina kan maken bij een fout in mijn php pagina..
Bv een ; vergeten of vergeten mij functie te sluiten } of een error in mijn sql query

Ik krijg nu enkel de "white page of dead" te zien.. Het is ook niet de bedoeling dat de bezoeker de volledige error ziet.

Ik heb al in de php.ini vanalles liggen veranderen : display_errors = On -> niet goed omdat je dan de error regel ziet
.htaccess met verwijzing naar mijn custom error 500 pagina.

Helaas helpt niets :(

Wie kan mij helpen?
ITnetadmin
Elite Poster
Elite Poster
Berichten: 8445
Lid geworden op: 28 jan 2012, 18:22
Uitgedeelde bedankjes: 164 keer
Bedankt: 618 keer

Gewoon in de htaccess een errorpage definieren?
Gebruikersavatar
Splitter
Elite Poster
Elite Poster
Berichten: 4578
Lid geworden op: 10 mar 2010, 12:30
Uitgedeelde bedankjes: 58 keer
Bedankt: 446 keer

guntherstassen schreef: .htaccess met verwijzing naar mijn custom error 500 pagina.
zorg dan wel dat je custom pagina niet afhankelijk is van de rest van je php scripts of het helpt nog niets.

in je htaccess hoort ErrorDocument 500 /error.php
(en zorg natuurlijk dat je htaccess ook effectief werkt)
Gebruikersavatar
guntherstassen
Pro Member
Pro Member
Berichten: 311
Lid geworden op: 09 feb 2011, 20:16
Locatie: Sint-Truiden
Uitgedeelde bedankjes: 12 keer
Bedankt: 27 keer
Contacteer:

Helaas werkt het niet.
Mijn .htaccess bestand werkt omdat ik er als eerste regel TEST. inzet, dan krijg ik direct een foutmelding als ik mijn pagina vernieuw
Ik heb dan ErrorDocument 500 /error.php er ingezet en dan de volgende test gedaan
<?PHP
$test = "1234" (zonder ; achter te zetten)
?>

Witte pagina en geen errorpage :(

Als ik ErrorDocument 404 /error.php er in zet en type http://www.domein.be/blablabla.php (blablabla.php bestaat niet), dan krijg ik wel mijn custom page te zien.
Gebruikersavatar
Splitter
Elite Poster
Elite Poster
Berichten: 4578
Lid geworden op: 10 mar 2010, 12:30
Uitgedeelde bedankjes: 58 keer
Bedankt: 446 keer

je moet ook letten op:

-> dat een php script zelden een error 500 van apache zal uitlokken
-> dat je zeker weet welke 500 pagina je krijgt: van je server of van je browser

je kan je htaccess testen door er RewriteRule ^ - [R=500] bij te zetten (lokt een error 500 uit van apache)
als die naar je custom 500 gaat, is dat in principe in orde.
je kan proberen die errordocuments in de virtualhost te zetten, misschien dat ze dan wel tonen voor php,
maar ik denk dat je eerder error handling correct zal moeten doen in php (try/catch bv)

als ik even snel google vind ik deze gist:
Gebruikersavatar
guntherstassen
Pro Member
Pro Member
Berichten: 311
Lid geworden op: 09 feb 2011, 20:16
Locatie: Sint-Truiden
Uitgedeelde bedankjes: 12 keer
Bedankt: 27 keer
Contacteer:

Mercikes voor het meedenken maar een syntax error opvangen in PHP is blijkbaar vrij complex..
Enigste correcte oplossing : testen, testen en nog eens testen vooraleer het online gaat zodat er niets kan fout gaan.
Gebruikersavatar
Splitter
Elite Poster
Elite Poster
Berichten: 4578
Lid geworden op: 10 mar 2010, 12:30
Uitgedeelde bedankjes: 58 keer
Bedankt: 446 keer

guntherstassen schreef:Enigste correcte oplossing : testen, testen en nog eens testen vooraleer het online gaat zodat er niets kan fout gaan.
als het voor een belangrijke zaak is zou ik dat absoluut niet als oplossing beschouwen.
is het voor een prive site of projectje is dat inderdaad genoeg... in alle andere gevallen moet je eigenlijk error checking hebben.
dus: try/catch enzo.

eventueel als je het te complex zou vinden kan je nog steeds een php site bouwen rondom een bestaand framework dat error handling doet in je plaats.
(laravel?)
fabos
Starter
Starter
Berichten: 5
Lid geworden op: 22 jul 2020, 21:46
Bedankt: 1 keer

Als het een wat lijviger project is kan je inderdaad gebruik maken van bestaande frameworks.
Of probeer gebruik te maken van een code quality tool die een aantal zaken voor jou checkt vooraleer je je code gaat committen naar git.
Plaats reactie

Terug naar “Development”