Подтвердить что ты не робот

IIS 7.5 Ошибка PHP "Процесс FastCGI неожиданно завершился"

Я пытаюсь заставить PHP работать с IIS 7.5 и немного ударил блокпост. Всякий раз, когда я пытаюсь загрузить страницу, я получаю следующую ошибку:

"Ошибка HTTP 500.0 - Внутренняя ошибка сервера C:\Program Files\PHP\php.exe - Процесс FastCGI неожиданно завершился "

Модуль FastCgiModule

Уведомление ExecuteRequestHandler

Обработчик PHP_via_FastCGI

Код ошибки 0x00000000

Запрошенный URL * http://localhost: 80/index.php

Физический путь C:\inetpub\wwwroot\index.php

Метод входа в систему Anonymous

Пользователь анонимного входа

Ошибка журнала журнала трассировки C:\inetpub\logs\FailedReqLogFiles

Я изменил файл PHP.ini, как требуется для использования с IIS, а также переключил его в режим подробностей. В C:\inetpub\logs\FailedReqLogs нет ни одного журнала, и ни одна из этих ошибок не связана с другими файлами журнала.

Я пробовал другие исправления, которые я нашел здесь и в других местах, но пока ничего не удалось.

В некоторых деталях это были: повторная проверка PHP.ini Настройка fastCGI для работы с PHP в IIS (настройка его для загрузки php.exe) Попытка WinCache как метода выполнения.

4b9b3361

Ответ 1

У меня была эта проблема, когда я обновил PHP 5.4.14 до 5.5.3 (32-разрядный).

Чтобы исправить это, мне пришлось установить Visual С++ Redistributable для Visual Studio 2012 Update 3

Я узнал, что мне нужна эта DLL, запустив php -version с консоли, когда мои веб-страницы больше не загружаются после обновления. Что тогда показало, что мне нужен файл MSVCR110.dll, который поставляется с 32-разрядным распространяемым VS-обновлением от MS. Поскольку у меня есть дополнительные обновления, отключенные в окне Обновление окна, я не получил его автоматически.

Они также поступают в разных вариантах (32-разрядная, 64-разрядная и ARM) 32-разрядная версия для меня.

Ответ 3

Кажется, что в вашем php есть некоторое расширение dll, которое не работает должным образом и принудительно закрывает CGI. Попробуйте прокомментировать все расширения в файле php.ini и посмотреть, будет ли ошибка существовать или нет.

[ИЗМЕНИТЬ 1]

После некоторых битв я узнал, что IIS - это не потокобезопасный веб-сервер, и все расширение, которое вы хотите использовать в php для IIS, должно использовать nts lib для компиляции. Если расширение компилируется с помощью библиотеки потоков и добавляет в IIS, IIS не запускается. В этом случае ваше расширение в потоковом безопасном (используется в apache, я думаю) и не следует добавлять как расширение в IIS

Ответ 4

Эта страница, на которую вы пытаетесь сделать что-нибудь интенсивное?

У меня была эта проблема раньше, и сообщение об ошибке вводит в заблуждение.

Возможно, вы захотите увеличить лимит памяти для этой конкретной страницы. Сначала найдите пиковое использование памяти для этой страницы:

echo memory_get_peak_usage(true);

Затем установите предел памяти соответствующим образом:

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

Надеюсь, что это поможет!

Ответ 5

Я знаю его старую нить, но кто-то может сэкономить несколько голов.

В php.ini, изменяя

; 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

Если enable_dl = Off не работает, комментирует всю строку.

Ответ 6

У меня была эта проблема, когда я настраивал PHP 5.4.17(32-bit).

Чтобы исправить это, мне пришлось установить Visual C++ Redistributable для Visual Studio 2012 Update 4, и он отлично работал после установки этого обновления.

Ответ 7

Если у вас есть два приложения вроде (ваше приложение, phpmyadmin), просто отключите расширение APC Надеюсь, что исправить проблему он работал со мной

если не просто установить Microsoft Visual С++ 86 и 64

Ответ 8

У меня та же проблема, которую я исправил, установив бит 32 Visual С++, распространяемый для Visual Studio 2012. 64 бит не работает для меня.

Ответ 9

Как правильно сказано в приведенных выше ответах, это связано с "Распространяемым Visual С++", которые не установлены или не установлены правильно.

В зависимости от моего опыта по этой проблеме.

1- Сначала позаботьтесь, каждая версия PHP зависит от конкретной версии распространяемой версии Visual С++ (11,12,14,..)

Итак, сначала нужно проверить версию PHP с примечаниями в левой части сайта php:   
Страница загрузки PHP  найдите "Какую версию выбрать?" затем посмотрите, какая версия VС++ вам нужна.

2. У ВАС ЕСТЬ скачать VC 32 и 64 BOTH. и проверьте, есть ли у вашего ПК уже такой Unistall оба из них (только для той же версии). а затем установите 32 сначала и 64 после. (нет необходимости в каких-либо перезагрузках, если он не просит).

3. Завершите установку php другими шагами для iis, apache или....

Надеюсь, это поможет вам.