Erro 500 na nova instalação do IIS e PHP

32

Ao tentar executar um arquivo PHP no Windows server 2012 e no IIS, continuo recebendo um erro 500. Não consigo encontrar nenhum registro detalhado nem nada. No entanto, ao acessar o PHP Manager para IIS e clicar em check config, recebo o seguinte erro:

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 

Instalei o PHP usando o Microsoft Web Platform Installer 5.0 em uma nova instalação do Windows Server.

Eu sou novo no IIS vindo do Linux. Portanto, não sou "aprendido" o suficiente no IIS para saber o que está acontecendo. Eu tentei atualizar o C ++ redistribuível 2012 atualização 4, como alguns sites sugerem. Alguém tem outras idéias?

EDIT: Outra coisa que verifiquei foi o limite de memória. Um site sugeriu que meu limite de memória precisava ser aumentado. Nenhuma mudança.

EDIT: Pergunta: O Windows precisa ser reiniciado para que as alterações no PHP entrem em vigor?

alexander7567
fonte
Qual versão do PHP?
Kev
Bem, quando eu instalei o php 5.5 com o instalador da Microsoft, ele também instalou o 5.3.
alexander7567

Respostas:

53

Há uma boa chance de que você esteja perdendo o tempo de execução VC ++ correto para a versão do PHP em execução.

Se você estiver executando o PHP 5.5.x, precisará garantir que o tempo de execução do VC ++ 11 esteja instalado:

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

Certifique-se de baixar e instalar a versão x86 ( vcredist_x86.exe), o PHP no Windows ainda não é de 64 bits.

Se você estiver executando o PHP 5.4.x, precisará instalar o tempo de execução do VC ++ 9:

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

Kev
fonte
1
Você estava correto. Eu já fiz o x64, pois era uma máquina de 64 bits. Instalou o x86 e instantaneamente (não é necessário reiniciar) ele começou a funcionar. Obrigado! Eu torturei meu cérebro por horas!
alexander7567
Brilhante! Corrigido imediatamente para mim também. +1
Will Appleby
2
Obrigado! PHP 5.6 instância requer ++ 11 (VS 2012) runtimes VC
wchoward
Obrigado ! Originalmente perdi a parte sobre o x86, mas depois de falhar miseravelmente, vi o que perdi e tudo funciona bem agora.
Alexandre Danault
5
Para qualquer pessoa que tenha esse problema com o PHP 5.6 , é necessário a versão x86 do Visual C ++ Redistributable para Visual Studio 2012 Update 4 (vcredist_x86.exe) , que pode ser obtida na seguinte página: microsoft.com/en-us/download/details aspx id = 30679?
derekmx271
6

Fui pego por uma mensagem semelhante e verificou-se que não havia instalado a função de servidor CGI (em IIS -> Desenvolvimento de aplicativos).

De Orbonia
fonte
Quão semelhante é a mensagem?
Deer Hunter
Instalei o tempo de execução do VC ++ 11, mas também tive que instalar o suporte CGI para fazê-lo funcionar. No Windows 8.1 e IIS 8.5. Encontre-o emTurn windows features on or off > Internet information services > application development features > CGI
jxmallett 4/15/15
4

Eu tive o mesmo erro para o PHP 7.0.3 em um servidor R2 2012 com IIS 8.5.

A solução é instalar: Visual C ++ Redistributable for Visual Studio 2015 32bits

Tudo funcionou corretamente após a instalação.

Tidoy007
fonte
1

Ainda havia o erro 500 após a instalação do Visual C ++ Redistributable for Visual Studio 2015 32bits.

Ran procmon da microsoft sysinternals e ao solicitar minha página da web php encontrada

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

w3wp.exe é o pool de aplicativos em execução no IIS

A concessão de permissões READ / EXECUTE ao usuário do pool de aplicativos específico para c: \ php corrigiu o problema.

roubar
fonte