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

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

Пользователь анонимных пользователей

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

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

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

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

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

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

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

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

Установите 32-разрядную версию распространяемого для Visual C ++ обновления для Visual Studio 2012 4

НЕ 64-битный

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

[РЕДАКТИРОВАТЬ 1]

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

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

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

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

echo memory_get_peak_usage(true); 

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

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

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

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

В 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 не работает, комментируя всю строку.

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

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

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

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

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

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

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

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

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

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

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

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