APACHE
#apache#php-fpm#proxy_fcgi#fcgi#sethandler#bitrix#laravel

Apache: привязка PHP к PHP-FPM через SetHandler

Передача запросов .php в PHP-FPM по Unix-сокету или TCP. Требуются mod_proxy_fcgi и mod_proxy.

Как использовать

  1. Включите модули: a2enmod proxy_fcgi proxy.
  2. Путь к сокету возьмите из конфига пула FPM (например /etc/php/8.2/fpm/pool.d/www.conf, директива listen).
  3. Разместите блок внутри 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).