Настройка: CentOS 7, Apache 2.4.6, php-fpm 5.6 и 7.3 (через репозиторий).
Недавно я преобразовал свою настройку phpmod по умолчанию в php-fpm, и PHP 5.4.16 заработал нормально. Теперь я пытаюсь включить PHP 7.3 в качестве опции для каждого виртуального хоста. Я установил и запустил php73-php-fpm, а затем посмотрел на сторону Apache.
Мой /etc/httpd/conf.d/php.conf
включает следующую директиву:
<FilesMatch \.php$>
# SetHandler application/x-httpd-php
SetHandler "proxy:fcgi://127.0.0.1:9000"
</FilesMatch>
Это отлично работает для всех хостов. Затем я добавил эту директиву <FilesMatch>
в один файл .conf виртуального хоста:
<VirtualHost *:80>
ServerName www.sittingduck.co.nz
ServerAlias sittingduck.co.nz
DocumentRoot /var/www/sittingduck.co.nz/public_html
ErrorLog /var/log/httpd/sittingduck.co.nz.error.log
CustomLog /var/log/httpd/sittingduck.co.nz.requests.log combined
<FilesMatch \.php$>
SetHandler "proxy:fcgi://127.0.0.1:9073"
</FilesMatch>
</VirtualHost>
Когда я перезапускаю сервер httpd, в указанном выше журнале ошибок появляется следующее.
[proxy:error] [pid 17061] (111)Connection refused: AH00957: FCGI: attempt to connect to 127.0.0.1:9073 (*) failed
[proxy_fcgi:error] [pid 17061] [client 54.36.148.97:33788] AH01079: failed to make connection to backend: 127.0.0.1
После проверки того, что оба сервера php-fpm действительно работают...
tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 16794/php-fpm: mast
tcp 0 0 127.0.0.1:9073 0.0.0.0:* LISTEN 17510/php-fpm: mast
... Затем я попытался переключить основной php.conf на порт 9073. Когда я это делаю, все сайты работают, и я могу подтвердить (используя страницу phpinfo на сайте выше), что я работаю на PHP 7.3.
Что мне здесь не хватает? Конфигурации виртуального хоста определенно загружаются после php.conf, как следует из ошибки, и fpm определенно в рабочем состоянии, и порт явно доступен.
Я чувствую, что есть какое-то правило или предостережение относительно того, как я определяю директивы. Любая помощь будет оценена по достоинству.