Установка - CentOS 7, Apache 2.4.6, php-fpm 5.6 и 7.3 (через remi repo).
Я недавно преобразовал мои настройки phpmod по умолчанию в php-fpm и получил PHP 5.4.16, работающий очень хорошо Сейчас я пытаюсь включить PHP 7.3 в качестве опции для каждого виртуального хоста. Я установил и запустил php73-php-fpm, затем посмотрел на сторону Apache.
My /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, в ErrorLog, указанном выше, появляется следующее:
[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 определенно находится в рабочем состоянии, и порт явно доступен.
Я чувствую, что есть какое-то правило или предостережение в отношении того, как у меня определены директивы. Любая помощь будет оценена.