Установка для веб-сервера Apache 2.x в системах Windows
 
  Раздел содержит примечания и подсказки, которые касаются установки PHP
  для веб-сервера Apache 2.x в системах Microsoft Windows.
 
 Замечание: 
  
   Сначала лучше прочитать пошаговую инструкцию
   по ручной установке PHP.
  
 
 
  Прежде чем продолжить чтение руководства, разработчики PHP настаивают на знакомстве
  » с документацией к веб-серверу Apache,
  чтобы получить базовое представление о сервере Apache 2.x,
  и » примечаниями, которые касаются
  установки веб-сервера Apache 2.x в системы Windows.
 
 
  Загрузите последнюю версию веб-сервера
  » Apache 2.x
  и совместимую версию PHP. Следуйте
  пошаговой инструкции по ручной установке PHP
  и возвращайтесь, чтобы продолжить интеграцию PHP и Apache.
 
 
  Для работы с веб-сервером Apache 2.x в операционных системах Windows
  двоичные файлы PHP настраивают тремя способами. PHP запускают как обработчик —
  Apache-модуль, через который веб-сервер обрабатывает файлы с PHP-кодом,
  как CGI-программу или программу, которая работает через FastCGI-интерфейс.
 
 Замечание: 
 Обратите внимание:
 при указании путей в конфигурационных файлах веб-сервера Apache, который работает под ОС Windows,
 обратные слеши в путях наподобие c:\directory\file.ext требуется заменить прямыми:
 c:/directory/file.ext. Для путей с директориями также иногда требуется слеш в конце.
 
  Установка PHP как Apache-обработчика PHP-файлов
  Замечание: 
   
    При работе через обработчик apache2handler, который обслуживает запросы к SAPI-интерфейсу,
    устанавливают потокобезопасные версии PHP (англ. TS, Thread Safe).
   
  
  
   В файл конфигурации веб-сервера Apache httpd.conf вставляют
   следующие строки, чтобы загрузить PHP-модуль для Apache 2.x:
   
    Пример #1 
     Пример конфигурации для обработки PHP-файлов
     модулем PHP в составе веб-сервера Apache 2.x
    
    
# До PHP 8.0.0 модуль назывался php7_module
LoadModule php_module "c:/php/php8apache2_4.dll"
<FilesMatch \.php$>
    SetHandler application/x-httpd-php
</FilesMatch>
# Настраиваем путь к файлу php.ini
PHPIniDir "C:/php"
 
    
  
  Замечание: 
   
    В приведённых примерах вместо пути C:/php/
    подставляют фактический путь к PHP. Убедитесь, что файл,
    который указали в директиве LoadModule, лежит в заданном месте.
    Для PHP 7 указывают файл php7apache2_4.dll
    или файл php8apache2_4.dll для PHP 8.
   
  
  
 
  Запуск PHP как CGI-программы
  
   » Документация Apache к CGI-интерфейсу
   даёт более полное понимание о запуске CGI-скриптов на веб-сервере Apache.
  
  
   PHP-файлы, которые запускаются как CGI-скрипты, располагают в каталоге,
   который через директиву ScriptAlias назначали как каталог CGI-скриптов,
   чтобы запускать PHP-скрипты как программу, которая работает по протоколу CGI.
  
  
   В PHP-файлы потребуется поместить строку #!,
   которая указывает на расположение двоичного файла PHP:
   
    Пример #2 
     Пример расположения двоичного файла PHP
     и взаимодействие с веб-сервером Apache 2.x через CGI-интерфейс
    
    
#!C:/php/php.exe
<?php
phpinfo();
?>
 
    
  
  
Внимание
 
  Сервер, который развернули в режиме CGI, открывается для ряда возможных уязвимостей.
  Пожалуйста, прочитайте раздел «О безопасности PHP в режиме CGI-программы»,
  который объясняет, как защититься от таких атак.
 
 
  
 
  Запуск PHP для работы по протоколу FastCGI
  
   Запуск программ на языке PHP в режиме FastCGI даёт ряд преимуществ
   перед запуском PHP-программ в режиме CGI.
   Настройка этого способа несложная:
  
  
   Скачайте модуль mod_fcgid с сайта
   » https://www.apachelounge.com.
   Бинарные файлы Win32 доступны для загрузки с этого сайта. Установите модуль
   по инструкции, которая идёт с файлами.
  
  
   Настройте веб-сервер как в следующем примере, и внимательно
   измените пути так, чтобы они соответствовали
   установке веб-сервера в конкретной системе:
   
    Пример #3 Настройка Apache для запуска PHP как FastCGI
    
LoadModule fcgid_module modules/mod_fcgid.so
# Где лежит файл php.ini?
FcgidInitialEnv PHPRC        "c:/php"
<FilesMatch \.php$>
    SetHandler fcgid-script
</FilesMatch>
FcgidWrapper "c:/php/php-cgi.exe" .php
 
    
   Теперь файлы с расширением 
.php будет исполнять FastCGI-обёртка PHP.