500 помилок при свіжому встановленні IIS та PHP


32

При спробі запустити файл PHP на Windows Server 2012 та IIS, я постійно отримую помилку 500. Я не можу знайти жодних детальних журналів чи нічого. Однак, переходячи до диспетчера PHP для IIS і натискаючи кнопку перевірити конфігурацію, я отримую таку помилку:

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 

Я встановив PHP за допомогою Microsoft Web Platform Installer 5.0 на новій установці Windows Server.

Я новачок у IIS, що надходить з Linux. Тому я недостатньо "навчився" в IIS, щоб знати, що відбувається. Я спробував оновити оновлене оновлення 4 для C ++ 2012, як підказує пара веб-сайтів. У когось є якісь інші ідеї?

EDIT: Ще одна річ, яку я перевірив, це обмеження пам’яті. Один сайт запропонував збільшити ліміт пам’яті. Без змін.

EDIT: Питання: Чи потрібно перезавантажувати Windows, щоб зміни PHP набули чинності?


Яка версія PHP?
Кев

Добре, коли я встановив php 5.5 з інсталятором Microsoft, він також встановив 5.3.
alexander7567

Відповіді:


53

Існує досить хороший шанс, що вам не вистачає правильної версії VC ++ для версії PHP, яку ви працюєте.

Якщо ви працюєте з PHP 5.5.x, вам потрібно забезпечити встановлення часу виконання VC ++ 11:

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

Переконайтеся, що ви завантажили та встановили версію x86 ( vcredist_x86.exe), PHP для Windows ще не 64-бітний.

Якщо ви використовуєте PHP 5.4.x, тоді вам потрібно встановити час виконання VC ++ 9:

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


1
Ви мали рацію. Я вже робив x64, оскільки це була 64-бітна машина. Встановив x86 і миттєво (не потрібно перезавантажувати) він почав працювати. Спасибі! Я годинами ламав мозок!
alexander7567

Блискуче! Виправлено це негайно і для мене. +1
Буде Епплбі

2
Спасибі!
Примірник

Спасибі ! Спочатку пропустив частину про x86, але після того, як невдало провалився, я побачив, що я пропустив, і все працює нормально.
Олександр Дано

5
Для всіх, хто має цю проблему з PHP 5.6 , вам потрібна версія x86 Visual C ++ Redistributable for Visual Studio 2012 Update 4 (vcredist_x86.exe) , яку можна отримати з наступної сторінки: microsoft.com/en-us/download/details .aspx? id = 30679
derekmx271

6

Мене схопило подібне повідомлення, і виявилося, що я не встановив роль сервера CGI (під IIS -> Розробка додатків).


Наскільки подібне повідомлення?
Мисливець на оленів

Я встановив програму VC ++ 11, але мені також довелося встановити підтримку CGI, щоб вона працювала. У Windows 8.1 та IIS 8.5. Знайдіть його підTurn windows features on or off > Internet information services > application development features > CGI
jxmallett

4

У мене була така ж помилка для PHP 7.0.3 на сервері R2 2012 року з IIS 8.5.

Рішення полягає у встановленні: перерозподілюваного Visual C ++ для 32-бітової Visual Studio 2015

Після встановлення цього все працювало належним чином.


1

Все-таки виникла помилка 500 після встановлення 32-бітового перерозподілу Visual C ++ для Visual Studio 2015.

Ран промовляв від Microsoft Sysinternals і коли запитував мою веб-сторінку PHP знайдено

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

w3wp.exe - пул додатків, який працює під IIS

Надання дозволу користувача READ / EXECUTE для конкретного користувача пулу програм c: \ php виправлено проблему.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.