Je cours PHP 5.4 sur CentOS 7 et quand il y a un fichier php qui renvoie une erreur (soit une exception, soit une erreur de syntaxe), il retourne un statut HTTP 200 code au lieu de 500.Apache/PHP renvoie le code d'état HTTP 200 sur les pages d'erreur
Comment puis-je l'obtenir pour renvoyer une erreur 500 serveur lorsque PHP rencontre une erreur? J'ai essayé d'examiner d'autres posts Stackoverflow, et ils semblent tous pointer vers des solutions autour du retour de votre propre code d'erreur 500 (ce qui devrait être le comportement normal de PHP par lui-même sans que je doive déclencher manuellement le En-tête http, selon cette info: PHP emitting 500 on errors - where is this documented?) Il pointe également vers Xdebug comme étant un problème possible, mais mon problème persiste même lorsque je reconstruis le serveur sans Xdebug.
Les paramètres pertinents que j'ai sont:
- display_errors: sur
- display_startup_errors: sur
- error_reporting: -1 (ce qui provoque toutes les erreurs à signaler)
pourquoi voudriez-vous? Les erreurs d'Apache et les erreurs de PHP ne sont pas la même chose –
Mais il traitera probablement n'importe quelle exception de côté PHP d'une manière que PHP répond automatiquement avec '500'. –
@Dagon Je parle de codes d'état http servis par Apache. J'essaye d'obtenir le comportement où une erreur de PHP déclenche le code de statut 500. –