Errore 500 alla nuova installazione di IIS e PHP


32

Quando tento di eseguire un file PHP su Windows Server 2012 e IIS, continuo a ricevere un errore 500. Non riesco a trovare alcun registro dettagliato o altro. Tuttavia, quando si accede a PHP Manager per IIS e si fa clic su Controlla configurazione, viene visualizzato il seguente errore:

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 

Ho installato PHP utilizzando Microsoft Web Platform Installer 5.0 su una nuova installazione di Windows Server.

Sono nuovo di IIS proveniente da Linux. Quindi non sono abbastanza "imparato" in IIS per sapere cosa sta succedendo. Ho provato ad aggiornare l'aggiornamento ridistribuibile C ++ 2012 4 come suggeriscono un paio di siti web. Qualcuno ha altre idee?

EDIT: Un'altra cosa che ho controllato era il limite di memoria. Un sito ha suggerito che il mio limite di memoria doveva essere aumentato. Nessun cambiamento.

EDIT: Domanda: Windows deve essere riavviato per rendere effettive le modifiche di PHP?


Quale versione di PHP?
Kev,

Bene, quando ho installato php 5.5 con quel programma di installazione di Microsoft, ho installato anche 5.3.
alexander7567,

Risposte:


53

C'è una buona probabilità che ti manchi il runtime VC ++ corretto per la versione di PHP in esecuzione.

Se stai eseguendo PHP 5.5.x devi assicurarti che il runtime VC ++ 11 sia installato:

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

Assicurati di scaricare e installare la versione x86 ( vcredist_x86.exe), PHP su Windows non è ancora a 64 bit.

Se stai eseguendo PHP 5.4.x, devi installare il runtime VC ++ 9:

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


1
Avevi ragione. Ho già fatto l'x64 poiché era una macchina a 64 bit. Installato x86 e immediatamente (non è necessario il riavvio) ha iniziato a funzionare. Grazie! Mi sono distrutto il cervello per ore!
alexander7567,

Brillante! Risolto immediatamente anche per me. +1
Will Appleby

2
Grazie! L'istanza di PHP 5.6 richiede i tempi di esecuzione di VC ++ 11 (VS 2012)
wchoward,

Grazie ! Inizialmente mancava la parte su x86 ma dopo aver fallito miseramente ho visto quello che mi mancava e ora tutto funziona bene.
Alexandre Danault,

5
Per chiunque abbia questo problema con PHP 5.6 , è necessaria la versione x86 di Visual C ++ ridistribuibile per Visual Studio 2012 Update 4 (vcredist_x86.exe) , che può essere ottenuta dalla seguente pagina: microsoft.com/en-us/download/details .aspx? id = 30679
derekmx271

6

Sono stato sorpreso da un messaggio simile e si è scoperto che non avevo installato il ruolo del server CGI (in IIS -> Sviluppo applicazioni).


Quanto è simile il messaggio?
Deer Hunter,

Ho installato il runtime VC ++ 11 ma ho anche dovuto installare il supporto CGI per farlo funzionare. Su Windows 8.1 e IIS 8.5. Lo trovi sottoTurn windows features on or off > Internet information services > application development features > CGI
jxmallett il

4

Ho avuto lo stesso errore per PHP 7.0.3 su un server 2012 R2 con IIS 8.5.

La soluzione è installare: Visual C ++ ridistribuibile per Visual Studio 2015 32 bit

Tutto ha funzionato correttamente dopo l'installazione.


1

Aveva ancora l'errore 500 dopo l'installazione di Visual C ++ Redistributable per Visual Studio 2015 a 32 bit.

Ho provato da microsoft sysinternals e quando ho richiesto la mia pagina web php trovata

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

w3wp.exe è il pool di app in esecuzione su IIS

Concedere le autorizzazioni READ / EXECUTE all'utente specifico del pool di app a c: \ php ha risolto il problema.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.