web-dev-qa-db-fra.com

IIS 7.5 PHP failure "Le processus FastCGI s'est arrêté de manière inattendue"

J'ai essayé d'obtenir PHP de travailler avec IIS 7.5 et de me heurter à un obstacle. Chaque fois que j'essaie de charger la page, l'erreur suivante apparaît:

"Erreur HTTP 500.0 - Erreur interne du serveur C:\Program Files\PHP\php.exe - Le processus FastCGI s'est arrêté de manière inattendue"

Module FastCgiModule

Notification ExecuteRequestHandler

Gestionnaire PHP_via_FastCGI

Code d'erreur 0x00000000

URL demandée * http: // localhost: 80/index.php

Chemin physique C:\inetpub\wwwroot\index.php

Méthode de connexion anonyme

Identifiant de connexion anonyme

Répertoire des journaux de suivi des demandes ayant échoué C:\inetpub\logs\FailedReqLogFiles

J'ai modifié le fichier PHP.ini requis pour une utilisation avec IIS et je l'ai également basculé en mode commenté. Il n'y a pas de champ de journal dans C:\inetpub\logs\FailedReqLogs, et aucun n'est lié à cette erreur dans les autres fichiers journaux générés.

J'ai essayé les autres correctifs trouvés ici et ailleurs, mais rien n'a été réussi jusqu'à présent.

Voici quelques détails: Revérifiant PHP.ini Configuration de fastCGI pour fonctionner avec PHP in IIS (configuration pour charger php.exe) Essayer WinCache comme méthode d'exécution.

22
Vilid

J'ai eu ce problème lorsque j'ai mis à niveau PHP 5.4.14 à 5.5.3 (32 bits). 

Pour résoudre ce problème, je devais installer le Visual C++ Redistributable pour Visual Studio 2012 Update 3

J'ai découvert que j'avais besoin de cette DLL en exécutant php --version à partir de la console lorsque mes pages Web n'étaient plus chargées après la mise à niveau. Ce qui a ensuite révélé que j'avais besoin du fichier MSVCR110.dll, fourni avec la mise à jour redistribuable VS 32 bits de MS. Comme les mises à jour facultatives sont désactivées dans Windows Update, je ne les ai pas reçues automatiquement.

Ils viennent également dans différentes saveurs (32 bits, 64 bits et ARM) 32 bits est ce qui a fonctionné pour moi.

49
b01

Installez le 32 bits de Redistribuable Visual C++ pour Visual Studio 2012 Update 4

PAS le 64 bits

9
piris

Il semble qu'il y ait des extensions de DLL dans votre php qui ne fonctionnent pas correctement et forcent la fermeture du CGI. Essayez de commenter toutes les extensions du fichier php.ini et voyez si l'erreur va exister ou non.

[EDIT 1]

Après quelques difficultés, j'ai découvert que IIS était un serveur Web non sécurisé pour les threads et que toute l'extension que vous souhaitez utiliser dans php pour IIS devrait utiliser nts lib pour la compilation. Si l'extension est compilée avec la bibliothèque thread-safe et que vous ajoutez à IIS, IIS ne démarre pas. Dans ce cas, votre extension en thread safe (utilisée dans Apache je suppose) et ne doit pas être ajoutée en tant qu’extension dans IIS

4
A23149577

Est-ce que cette page que vous essayez de faire est intensive?

J'ai déjà eu ce problème auparavant et le message d'erreur était trompeur.

Vous voudrez peut-être essayer d'augmenter votre limite de mémoire pour cette page particulière. Commencez par connaître le pic d'utilisation de la mémoire pour cette page:

echo memory_get_peak_usage(true);

Puis définissez votre limite de mémoire de manière appropriée:

ini_set("memory_limit","1024M");

J'espère que cela pourra aider!

3
seb835

J'ai eu ce problème lorsque je configurais PHP 5.4.17(32-bit).

Pour résoudre ce problème, j'ai dû installer le Visual C++ Redistributable pour Visual Studio 2012 Update 4 et cela a bien fonctionné après l'installation de cette mise à jour.

1
Pacsal

Je sais que c'est un vieux fil, mais quelqu'un pourrait sauver quelques coups de tête.

Dans php.ini, changer 

; Whether or not to enable the dl() function.  The dl() function does NOT work
; properly in multithreaded servers, such as IIS or Zeus, and is automatically
; disabled on them.
; http://php.net/enable-dl
enable_dl = Off

à

; Whether or not to enable the dl() function.  The dl() function does NOT work
; properly in multithreaded servers, such as IIS or Zeus, and is automatically
; disabled on them.
; http://php.net/enable-dl
;enable_dl = Off

Avoir enable_dl = Off ne fonctionne pas, la mise en commentaire de toute la ligne fonctionne.

1
Donald H.

si vous avez deux applications comme (votre application, phpmyadmin), désactivez simplement l'extension APC J'espère que cela résoudra le problème ça fonctionnera avec moi 

sinon simplement installer Microsoft Visual C++ 86 et 64 

0
Basel AlkKaddoumi

J'ai le même problème, que j'ai résolu en installant le bit 32 de Visual C++, redistribuable pour Visual Studio 2012. Le 64 bits ne fonctionne pas pour moi.

0
LuisG

Comme mentionné correctement dans les réponses ci-dessus, il est lié à "Visual C++ Redistributable" qui n'est pas installé ou n'est pas installé correctement.

(En fonction de mon expertise sur cette question.}

1- Tout d’abord faire attention, chaque version PHP dépend d’une version spécifique de Visual C++ redistribuable (11,12,14, ..)

il faut d’abord vérifier votre version PHP avec les notes sur le côté gauche du site php:
PHP Page de téléchargement rechercher "Quelle version dois-je choisir?" Ensuite, voyez quelle version de VC++ est requise pour vous.

2- Vous devez télécharger VC 32 et 64 DEUX. et vérifiez si votre PC en possède déjà une aussi, supprimez-les (pour la même version seulement). puis installez 32 en premier et 64 après. (pas besoin de redémarrer à moins que cela ne soit demandé).

3- Complétez l’installation php par d’autres étapes pour iis, Apache ou ....

J'espère que ça t'aide.

0