Центр Диагностики & База Системных Ошибок

Решения для Windows Server, Active Directory, 1С, СУБД, Linux, Cisco, MikroTik и IP-телефонии.

⚠️ Важная информация Все материалы, инструкции, команды и скрипты предоставлены исключительно в ознакомительных целях. Их применение может повлиять на работу операционной системы, баз данных и сетевого оборудования. Перед выполнением действий обязательно создайте резервную копию. При отсутствии необходимой квалификации обратитесь к ИТ-специалистам.

IIS HTTP 502.2 Bad Gateway: сбои FastCGI и CGI — решение

Обновлено: 28.08.2026  ·  Официальная база знаний

Симптомы ошибки IIS 502.2

При открытии веб-приложений на базе PHP, Python или Perl в браузере появляется ошибка: HTTP Error 502.2 - Bad Gateway: The specified CGI application misbehaved by not returning a complete set of HTTP headers. The headers it did return were ''.

СимптомГде проявляетсяПричина
HTTP 502.2 при тяжелых операцияхPHP / FastCGI приложенияПроцесс php-cgi.exe аварийно упал (Crash) или завершился по таймауту
Пустой ответ от бэкендаБраузер клиентаИнтерпретатор завершился без отправки HTTP-заголовков Content-Type
Event ID 1000 (Application Crash)Журнал ApplicationСбой в стороннем модуле или библиотеке

Пошаговое устранение сбоя FastCGI (HTTP 502.2)

  1. Увеличьте таймауты выполнения FastCGI (Activity Timeout и Request Timeout):
    & "$env:SystemRoot\System32\inetsrv\appcmd.exe" set config -section:system.webServer/fastCgi /[fullPath='C:\PHP\php-cgi.exe'].activityTimeout:300 /commit:apphost; & "$env:SystemRoot\System32\inetsrv\appcmd.exe" set config -section:system.webServer/fastCgi /[fullPath='C:\PHP\php-cgi.exe'].requestTimeout:300 /commit:apphost
  2. Проверьте прямой запуск интерпретатора из консоли: проверьте синтаксис и библиотеки:
    cd C:\PHP; .\php.exe -v; .\php.exe -m
  3. Установите необходимые пакеты Visual C++: скачайте и установите актуальные Microsoft Visual C++ Redistributable (x64 / x86).
  4. Настройте логирование ошибок в php.ini: задайте display_errors = Off, log_errors = On, error_log = "C:\inetpub\logs\php_errors.log", max_execution_time = 300.

Совет: Всегда используйте сборку PHP версии Non-Thread Safe (NTS) x64 для работы под управлением IIS FastCGI. Thread-Safe сборки предназначены для Apache и работают под IIS нестабильно.

Практический опыт инженера: Ошибка 502.2 при развертывании PHP на чистом сервере в 95% случаев вызвана отсутствием установленного пакета Visual C++ Redistributable (VCRUNTIME140.dll).

Частые вопросы (FAQ)

Почему PHP под IIS должен быть Non-Thread Safe (NTS)?

Модуль FastCGI в IIS является однопоточным диспетчером процессов. Версия NTS оптимизирована для такой архитектуры и обеспечивает максимальную производительность без блокировок.

Как понять, какой именно PHP-файл вызвал ошибку 502.2?

Включите функцию 'Трассировка неудачных запросов' (Failed Request Tracing — FREB) в IIS Manager для кода ответа 502.2.

Что делать, если в логе падает модуль php_opcache.dll?

Увеличьте параметр opcache.memory_consumption в php.ini или временно отключите OPcache для проверки.

Где настроить сопоставление обработчиков FastCGI в IIS?

В консоли IIS Manager выберите сервер -> 'Сопоставления обработчиков' (Handler Mappings) -> модуль FastCgiModule.