Гид по технологиям

Установка PHP на IIS 6 в Windows Server 2003

5 min read Windows Server Обновлено 28 Nov 2025
Установка PHP на IIS 6 в Windows Server 2003
Установка PHP на IIS 6 в Windows Server 2003

Установка PHP на IIS 6 для Windows Server 2003

Быстрый план действий

  • Скачайте PHP Windows Binaries (non thread safe).
  • Распакуйте в каталог, например C:\PHP.
  • Скопируйте и отредактируйте php.ini (параметры для FastCGI и пути к расширениям).
  • Установите расширение IIS 6 FastCGI.
  • Настройте fcgiext.ini и разрешите FastCGI в консоли IIS.
  • Добавьте маппинг для .php и перезапустите IIS.
  • Создайте phpinfo.php и проверьте через браузер.

Зачем запускать PHP под IIS 6

PHP — популярная серверная платформа для приложений и CMS. Хотя чаще её запускают на Linux/Apache, IIS позволяет использовать существующую инфраструктуру Windows и интегрировать PHP в привычные инструменты администрирования.

Важно: IIS 6 по умолчанию не включает FastCGI. FastCGI даёт баланс между производительностью и стабильностью по сравнению с CGI.

Конфигурирование PHP

  1. Скачайте Windows-версию PHP (non thread safe). Для IIS 6 используйте non thread safe сборку.

  2. Распакуйте архив в каталог на диске, например C:\PHP.

  3. Скопируйте файл php.ini-production в папку Windows и переименуйте в php.ini:

    • Откройте C:\Windows\php.ini в Блокноте и внесите изменения.
  4. Обязательные правки в php.ini:

    • Раскомментируйте и установите cgi.force_redirect = 0.
    • Раскомментируйте fastcgi.impersonate = 1.
    • Укажите extension_dir на подпапку ext, например extension_dir = "C:\\PHP\\ext".
    • Установите date.timezone в зону вашего сервера (например Europe/Moscow). Список допустимых значений доступен в документации PHP.

После этих шагов на командной строке сервера можно запускать C:\PHP\php.exe для выполнения PHP-скриптов вручную.

Конфигурация php.ini и путь до расширений

Установка расширения FastCGI для IIS 6

  1. Скачайте и установите IIS 6 FastCGI Extension. Установщик обычно не требует взаимодействия.

Установка FastCGI для IIS 6

  1. После установки откройте файл C:\Windows\system32\inetsrv\fcgiext.ini и добавьте или отредактируйте секцию Types. Пример содержимого:
[Types]
php=PHP

[PHP]
ExePath=C:\PHP\php-cgi.exe
InstanceMaxRequests=5000
EnvironmentVars=PHP_MAX_REQUESTS:5000
  1. Подстройте значения под нагрузку и ограничения вашего окружения. Обратите внимание на корректность путей и прав доступа.

Редактирование fcgiext.ini

Настройка IIS для запуска PHP через FastCGI

  1. Откройте консоль управления IIS (IIS Manager). В разделе Web Service Extensions убедитесь, что FastCGI Handler разрешён (Allowed).

Разрешение FastCGI в IIS

  1. Откройте свойства групп сайтов (Web Sites). На вкладке Home Directory нажмите кнопку Configuration.

Свойства каталога сайта

  1. Добавьте маппинг для расширения .php и укажите исполняемый файл FastCGI (DLL/Exe) или укажите обработчик, соответствующий fcgiext.ini.

Добавление маппинга для .php

  1. Примените изменения и перезапустите IIS командой iisreset или через консоль управления.

Тестирование PHP

  1. В каталоге веб-сервера создайте файл C:\Inetpub\wwwroot\phpinfo.php с содержимым:

Файл phpinfo.php в корне сайта

  1. Откройте в браузере на сервере адрес:
http://localhost/phpinfo.php

Если страница загрузилась и показала конфигурацию PHP, то установка прошла успешно.

Страница phpinfo с информацией о конфигурации PHP

Типичные ошибки и способы их устранения

  • Страница скачивается вместо исполнения — вероятно не настроен маппинг .php или FastCGI не включён.
  • 500 Internal Server Error — проверьте логи IIS и Windows Event Viewer, убедитесь, что ExePath указан верно и php-cgi.exe доступен.
  • Ошибки расширений — проверьте extension_dir и наличие нужных DLL в папке ext.
  • Проблемы с правами доступа — учтите, под каким пользователем работает IIS; для доступа к файлам и кэшу PHP нужны соответствующие NTFS-права.

Безопасность и эксплуатация

  • Не используйте php.ini-development на продакшн-серверах; php.ini-production — лучший старт.
  • Отключите display_errors в продакшне и логируйте ошибки в файл.
  • Настройте права на каталоги сессий и временных файлов так, чтобы минимизировать привилегии.
  • Регулярно обновляйте PHP (учтите, что современный PHP уже не поддерживает Windows Server 2003; план обновления ОС/Платформы обязателен).

Важно: поддержка Windows Server 2003 завершена. По возможности планируйте миграцию на поддерживаемую ОС.

Резервное откатывание и план действий при инциденте

  1. Перед изменениями сделайте резервную копию php.ini, fcgiext.ini и экспорт конфигурации IIS.
  2. Если после изменений сайт упал, откатите fcgiext.ini и php.ini к сохранённым копиям.
  3. Перезапустите IIS и проверьте Event Viewer и логи IIS для диагностики.
  4. Восстановите по шагам, проверяя работоспособность после каждого изменения.

Контрольные тесты и критерии приёмки

  • PHP возвращает страницу phpinfo() без ошибок.
  • Базовое приложение (например WordPress) корректно устанавливается и работает.
  • Логи не содержат повторяющихся фатальных ошибок PHP или FastCGI.
  • Производительность удовлетворительна: время ответа шаблонной страницы < 1 с в типичном окружении (оценка в вашей инфраструктуре).

Роли и чеклисты перед запуском в продакшен

Администратор сервера

  • Скачать и распаковать PHP в C:\PHP.
  • Настроить php.ini и указать extension_dir.
  • Установить FastCGI и настроить fcgiext.ini.
  • Настроить маппинг .php в IIS и перезапустить сервис.

Разработчик

  • Проверить совместимость кода с используемой версией PHP.
  • Протестировать приложение в тестовой среде под IIS.
  • Подготовить конфигурационные файлы и список необходимых расширений.

Оценщик безопасности

  • Проверить отключение display_errors в продакшне.
  • Провести проверку прав на каталоги сессий и временных файлов.
  • Оценить необходимость обновления ОС и PHP.

Мини-методология при внедрении

  1. Подготовка: резервные копии и тестовый стенд на копии конфигурации.
  2. Установка: PHP -> FastCGI -> конфигурация IIS.
  3. Тестирование: базовый phpinfo(), функциональные тесты приложения.
  4. Наблюдение: мониторинг логов и показателей в первые 24–72 часа.

Краткое резюме

После завершения вы получите работающую среду PHP под IIS 6 на Windows Server 2003. Убедитесь, что все пути и права заданы корректно, и что FastCGI разрешён в консоли IIS. Планируйте миграцию с устаревшей ОС, так как она несёт риски безопасности и совместимости.

Ссылки

  • Загрузить PHP Windows Binaries (non thread safe)
  • Загрузить IIS 6 FastCGI Extension
Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

RDP: полный гид по настройке и безопасности
Инфраструктура

RDP: полный гид по настройке и безопасности

Android как клавиатура и трекпад для Windows
Гайды

Android как клавиатура и трекпад для Windows

Советы и приёмы для работы с PDF
Документы

Советы и приёмы для работы с PDF

Calibration в Lightroom Classic: как и когда использовать
Фото

Calibration в Lightroom Classic: как и когда использовать

Отключить Siri Suggestions на iPhone
iOS

Отключить Siri Suggestions на iPhone

Рисование таблиц в Microsoft Word — руководство
Office

Рисование таблиц в Microsoft Word — руководство