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?
Custom 500 error pagina bij PHP (syntax) error
- guntherstassen
- Pro Member
- Berichten: 311
- Lid geworden op: 09 feb 2011, 20:16
- Locatie: Sint-Truiden
- Uitgedeelde bedankjes: 12 keer
- Bedankt: 27 keer
- Contacteer:
-
- 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?
- Splitter
- Elite Poster
- Berichten: 4578
- Lid geworden op: 10 maa 2010, 12:30
- Uitgedeelde bedankjes: 58 keer
- Bedankt: 446 keer
zorg dan wel dat je custom pagina niet afhankelijk is van de rest van je php scripts of het helpt nog niets.guntherstassen schreef: .htaccess met verwijzing naar mijn custom error 500 pagina.
in je htaccess hoort ErrorDocument 500 /error.php
(en zorg natuurlijk dat je htaccess ook effectief werkt)
- guntherstassen
- 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.
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.
- Splitter
- Elite Poster
- Berichten: 4578
- Lid geworden op: 10 maa 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:
-> 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:
- guntherstassen
- 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.
Enigste correcte oplossing : testen, testen en nog eens testen vooraleer het online gaat zodat er niets kan fout gaan.
- Splitter
- Elite Poster
- Berichten: 4578
- Lid geworden op: 10 maa 2010, 12:30
- Uitgedeelde bedankjes: 58 keer
- Bedankt: 446 keer
als het voor een belangrijke zaak is zou ik dat absoluut niet als oplossing beschouwen.guntherstassen schreef:Enigste correcte oplossing : testen, testen en nog eens testen vooraleer het online gaat zodat er niets kan fout gaan.
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?)
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.
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.