500 erreur sur la nouvelle installation de IIS et PHP

32

Lorsque j'essaie d'exécuter un fichier PHP sur Windows Server 2012 et IIS, je continue à avoir une erreur 500. Je ne trouve pas de journaux détaillés ou quoi que ce soit. Cependant, lorsque vous accédez à PHP Manager for IIS et que vous cliquez sur check config, le message d'erreur suivant s'affiche:

Detailed Error Information:
Module    FastCgiModule 
Notification    ExecuteRequestHandler 
Handler    PHP55_via_FastCGI 
Error Code    0xc0000135 
Requested URL    http://domain.com:80/brkld3ip.php 
Physical Path    drive:\sites\domain.com\brkld3ip.php 
Logon Method    Anonymous 
Logon User    Anonymous 

J'ai installé PHP à l'aide de Microsoft Web Platform Installer 5.0 sur une nouvelle installation de Windows Server.

Je suis nouveau sur IIS venant de Linux. Donc, je ne suis pas assez "appris" dans IIS pour savoir ce qui se passe. J'ai essayé de mettre à jour la mise à jour 4 C ++ redistribuable C ++, comme le suggèrent quelques sites Web. Quelqu'un a d'autres idées?

EDIT: Une autre chose que j'ai vérifiée était la limite de mémoire. Un site a suggéré que ma limite de mémoire devait être augmentée. Pas de changement.

EDIT: Question: Windows doit-il être redémarré pour que les modifications de PHP prennent effet?

alexander7567
la source
Quelle version de PHP?
Kev
Eh bien, quand j’ai installé php 5.5 avec ce programme d’installation de Microsoft, il a également installé la version 5.3.
alexander7567

Réponses:

53

Il y a de bonnes chances que vous manquiez du bon runtime VC ++ pour la version de PHP que vous utilisez.

Si vous utilisez PHP 5.5.x, vous devez vous assurer que le runtime de VC ++ 11 est installé:

http://www.microsoft.com/en-us/download/details.aspx?id=30679

Assurez-vous de télécharger et d'installer la version x86 ( vcredist_x86.exe), PHP sous Windows n'est pas encore à la version 64 bits.

Si vous utilisez PHP 5.4.x, vous devez installer le runtime VC ++ 9:

http://www.microsoft.com/en-us/download/details.aspx?id=5582

Kev
la source
1
Tu as eu raison. J'ai déjà fait le x64 puisqu'il s'agissait d'une machine 64 bits. Installé le x86 et instantanément (pas de redémarrage requis), il a commencé à fonctionner. Merci! Je me suis creusé la tête pendant des heures!
alexander7567
Brillant! Le corrige immédiatement pour moi aussi. +1
Est-ce que Appleby
2
Merci! L'instance PHP 5.6 nécessite des exécutions de VC ++ 11 (VS 2012)
wchoward
Merci ! A l'origine, j'avais raté la partie sur x86 mais après avoir échoué lamentablement, j'ai vu ce que j'ai manqué et tout fonctionne bien maintenant.
Alexandre Danault
5
Si vous rencontrez ce problème avec PHP 5.6 , vous devez disposer de la version x86 de Visual C ++ Redistributable pour Visual Studio 2012 Update 4 (vcredist_x86.exe) , disponible à la page suivante: microsoft.com/en-us/download/details .aspx? id = 30679
derekmx271
6

Un message similaire m'a surpris, et il s'est avéré que je n'avais pas installé le rôle de serveur CGI (sous IIS -> Développement d'applications).

D'Orbonia
la source
À quel point le message est-il similaire?
Deer Hunter
J'ai installé le runtime VC ++ 11 mais je devais également installer le support CGI pour le faire fonctionner. Sous Windows 8.1 et IIS 8.5. Trouver sousTurn windows features on or off > Internet information services > application development features > CGI
jxmallett
4

J'ai eu la même erreur pour PHP 7.0.3 sur un serveur R2 2012 avec IIS 8.5.

La solution consiste à installer: Visual C ++ redistribuable pour Visual Studio 2015 32bits

Tout a fonctionné correctement après l’installation de cette.

Tidoy007
la source
1

Il y avait toujours l'erreur 500 après l'installation de la version 32 bits de Visual C ++ redistribuable pour Visual Studio 2015.

Ran procmon de Microsoft sysinternals et lors de la demande de ma page web php trouvé

w3wp.exe C:\PHP\php-cgi.exe "ACCESS DENIED"

w3wp.exe est le pool d'applications fonctionnant sous IIS

Donner à l'utilisateur du pool d'applications spécifique les autorisations READ / EXECUTE sur c: \ php a résolu le problème.

Rob
la source