Apache: привязка PHP к PHP-FPM через SetHandler
Передача запросов .php в PHP-FPM по Unix-сокету или TCP. Требуются mod_proxy_fcgi и mod_proxy.
Как использовать
- Включите модули: a2enmod proxy_fcgi proxy.
- Путь к сокету возьмите из конфига пула FPM (например /etc/php/8.2/fpm/pool.d/www.conf, директива listen).
- Разместите блок внутри VirtualHost или Directory; перезапустите Apache.
Чтобы Apache отдавал PHP-запросы в PHP-FPM, используется mod_proxy_fcgi. Подробнее — Apache: PHP-FPM.
Unix-сокет (рекомендуется)
<FilesMatch \.php$>
SetHandler "proxy:unix:/run/php/php8.2-fpm.sock|fcgi://localhost"
</FilesMatch>
Замените путь сокета на свой (в Debian/Ubuntu часто /run/php/php8.2-fpm.sock).
TCP (порт)
Если PHP-FPM слушает порт (в пуле: listen = 127.0.0.1:9000):
<FilesMatch \.php$>
SetHandler "proxy:fcgi://127.0.0.1:9000"
</FilesMatch>
Проверка
После перезапуска Apache запрос к .php должен обрабатываться FPM. При 502 проверьте: systemctl status php8.2-fpm, существование сокета (ls -la /run/php/php8.2-fpm.sock), логи Apache и FPM.
Подробнее: Apache httpd и PHP-FPM: модули и расширения для продакшена (с учётом Bitrix).