2009-08-12 10 views
1

Pour mon environnement de développement J'ai récemment déménagé à PHP 5.3 w/FastCGI IIS de php 5.2 w/ISAPI sur IIS et quand j'ai une erreur (comme le nom de la fonction est incorrecte) Je suis habitué PHP rapportant FATAL ERROR etc ... au navigateur. Par intermittence au lieu de recevoir l'erreur, je reçois un HTTP 500. Si vous naviguez avec firefox cela ne se produit pas.erreur HTTP 500 sur IE7

Il semble être lié au type de contenu de la mise en cache IE ou un code HTTP quelque chose comme ça. Mon raisonnement est que si j'élimine le morceau de code incriminé et actualise la page (dans IE) et puis replace le code fautif dans je verrai le message d'erreur.

Est-ce que quelqu'un sait ce que je devrais regarder?

display_errors est réglé sur Activé ....

Essayé pour ajouter du code dans les commentaires et il était laid, donc je suis annexant:
Exemple de code: index.php <?php php_infowrong(); ?>

Si je tapez l'URL du site que je reçois:

sur Firefox, je reçois: PHP Fatal error: Call to undefined function php_infowrong() dans D: \ Web \ pathtowebsite \ index.php sur la ligne 2

Sur Internet Explorer je reçois: HTTP 500 Erreur serveur interne

Si je change alors le index.php à <?php phpinfo(); ?> Ensuite IE et Firefox donnent la page php_info correcte.

Si je change le index.php revenir à sa forme originale et erronous actualiser la page que IE affichera: PHP Fatal error: Call to undefined function php_infowrong() dans D: \ Web \ pathtowebsite \ index.php

+0

Que diriez-vous du code? –

+0

Exemple de code: index.php Si je tape dans l'URL du site que je reçois: sur Firefox que je reçois: PHP Fatal error: Call to undefined function php_infowrong() dans D: \ Web \ pathtowebsite \ index.php sur la ligne 2 Sur Internet Explorer je reçois: HTTP 500 Erreur de serveur interne Si je puis modifier l'index.php à Alors IE et Firefox donnent la page php_info correcte. > suite au commentaire suivant –

+0

Si je change le index.php en sa forme originale erronée et actualise la page ALORS IE montrera: PHP Fatal error: Appel à la fonction non définie php_infowrong() dans D: \ Web \ php53.imperialcable .com \ public \ index.php sur la ligne 2 –

Répondre

2

Je ne sais pas si cela vaut pour IE7, mais les versions précédentes de IE avait cette « fonctionnalité » où le navigateur remplacerait sa propre page d'erreur si celle renvoyée par le serveur était trop court. J'ai trouvé this dans la base de connaissances MS, sérieusement ancienne (IE4!), Mais pourrait valoir le détour.

+0

C'est correct. Vous devez tamponner les erreurs à 512 octets, ou cliquez sur Outils/Options Internet/Avancé et décochez "Afficher les erreurs". Utilisez Fiddler, et vous verrez que le même HTTP/500 revient aux deux navigateurs. – EricLaw

-2

Pouvez-vous essayer ce paramètre dans l'en-tête? header ("HTTP/1.1 304 non modifié");

Bizarre bug when trying to use HTTP Caching Headers from PHP

+0

bien le problème vient seulement quand leur est une erreur dans le code .... recommandez-vous que je produis cette en-tête() sur toutes les réponses juste au cas où le code peut plus tard générer une erreur? la question référencée ne semblait pas aborder le même problème. –

Questions connexes