2017-02-08 4 views
0

J'ai un site PHP (5.3) fonctionnant sur un serveur Windows 2008 R2 (IIS7.5) & J'essaie d'obtenir une page personnalisée de 500 pages.page personnalisée 500 pour site PHP sur IIS7.5

J'ai installé une page de test, ce qui génère une erreur fatale - Appel à functiondoesnotexist undefined function() dans ...

Si je mets la gestion des erreurs dans le script:

ini_set('display_errors', 1); 
error_reporting(E_ALL);) 

Je vois l'erreur sur la page, MAIS la page renvoie un code 200.

Si j'éteins le rapport d'erreurs, je viens d'obtenir une page blanche (pas de code source du tout), mais l'état est de 500

Cependant, il ne montre pas la page d'erreur custome (500.php) - qui fonctionne lorsqu'il est chargé directement.

Est-ce que quelqu'un sait ce que je manque? Merci

Répondre

0

Pour afficher un fichier statique personnalisé comme une erreur 500 dans un site PHP sous IIS, après avoir configuré la page personnalisée via l'interface utilisateur IIS, vous devez modifier le fichier web.config et recherchez la section httpErrors. Dans ce noeud de configuration, vous devez définir la propriété existingResponse sur "Replace" pour que fastCGI utilise la réponse IIS par défaut au lieu de la réponse fastCGI utilisée par PHP.

section Votre fichier web.config devrait ressembler à ceci:

<httpErrors existingResponse="Replace"> <remove statusCode="500" subStatusCode="-1" /> <error statusCode="500" prefixLanguageFilePath="" path="MyCustom500Errorpage.html" responseMode="File" /> </httpErrors>

Notez la propriété dans le nœud racine et l'attribut responseMode mis à File dans le nœud error.

Le fichier se trouve dans le dossier racine. Si vous utilisez des images, des scripts ou des fichiers .css, vérifiez que vous utilisez des chemins liés au dossier racine (par exemple: "/Images/MyLogo.png" etc ...).

HTH