IIS n'affiche pas les erreurs PHP détaillées - affiche à la place le défaut 500 du serveur


9

J'ai l'habitude de servir des sites depuis Apache, mais je suis maintenant obligé d'utiliser un serveur IIS.

Un certain nombre de mes pages PHP renvoient l'erreur 500 et je ne peux pas déboguer car IIS supprime les messages d'erreur. J'ai essayé ini_set('display_errors',1);en code mais en vain.

Des erreurs sont affichées sur certains sites mais pas sur celui en particulier que je veux déboguer, donc je ne pense pas que ce soit un paramètre PHP global, mais plutôt quelque chose à voir avec les paramètres du site pour ce site.

Je ne trouve pas de réponse claire quant à la façon d'activer l'affichage des erreurs PHP.

J'ai trouvé ce lien mais je ne sais pas où trouver " system.webServer-> httpErrors ".

Comment puis-je activer les erreurs d'affichage en PHP sous IIS?

Réponses:


6

Que diriez-vous de les enregistrer à la place?

Modifiez php.ini et définissez

error_reporting = E_ALL & ~E_NOTICE
log_errors = On

Et soit

error_log = syslog pour vous connecter au journal des événements Windows, ou

error_log = location/of/logfile pour vous connecter à un fichier.


J'ai error_reporting, log_errorset error_logtout configuré de cette façon, mais il est toujours pas la journalisation des erreurs pour le site Joomla. Ce site a été copié depuis un serveur Apache. J'ai importé les .htaccessrègles dans IIS 7.5; mais hélas, il échoue toujours. Avez-vous par hasard une idée de quoi d'autre je pourrais avoir besoin de chercher?
Mike Perrenoud

5

En supposant que vous avez tous les bons paramètres dans votre fichier php.ini

  1. Sélectionnez votre site Web dans IIS Manager
  2. À droite, double-cliquez sur l'icône Pages d'erreur
  3. À l'extrême droite, sous «Actions», cliquez sur le lien «Modifier les paramètres des fonctionnalités»
  4. Sur le pop-up qui apparaît, choisissez le bouton radio "Erreurs détaillées"
  5. Actualisez votre page PHP pour voir les erreurs détaillées

Merci au dernier commentaire sur cette page


0

J'ai découvert que c'est une bonne idée d' accéder à une page hébergée par IIS avec InternetExplorer pour les tests.

Dans mon cas, les journaux d'erreurs php étaient nettoyés - ils n'ont aucun indice.

J'ai eu un simple "500 - erreur de serveur interne" non expressif lors de la connexion avec Firefox / Chrome: entrez la description de l'image ici

... mais un message d'erreur plus utile ("Erreur HTTP 500.0 - Erreur de serveur interne C: \ PHP \ php-cgi.exe - Le processus FastCGI s'est arrêté de manière inattendue") lors de l'utilisation d'InternetExplorer: entrez la description de l'image ici

Essayez également de vous connecter à partir de http: // localhost sur le serveur lui-même.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.