У меня есть сервер CentOS 6.9 VPS с cPanel и WHM, на котором запущен Apache 2 с PHP 5.6.
Я включил PHP-FPM на WHM, и он отображается как активный и в WHM, и в Cpanel (в разделах менеджера MultiPHP)
Для уверенности я даже скопировал его в конфиг, где настраиваю свой vhost.
И PHP-FPM, судя по его журналам, работает («УВЕДОМЛЕНИЕ: готов к обработке подключений» в php-fpm error.log)
Но когда я захожу посмотреть phpinfo(), там все еще написано:
Server API CGI/FastCGI
Так что я упускаю? Как это отладить? Я перезапускал apache и php-fpm много раз, и даже перезапускал сервер, но безрезультатно
РЕДАКТИРОВАТЬ: на самом деле, я ошибался: у меня этого не было в конфигурации vhost:
<IfModule proxy_fcgi_module>
<FilesMatch \.(phtml|php[0-9]*)$>
SetHandler proxy:unix:/opt/cpanel/ea-php56/root/usr/var/run/php-fpm/fc680a9025c37fd635d3cad33dda11786afdf8c0.sock|fcgi://domain.tld
</FilesMatch>
</IfModule>
Должно быть, он был перезаписан чем-то. Теперь, если я его туда помещаю, то получаю ошибку:
No input file specified.
Даже когда я пытаюсь получить доступ к скрипту, содержащему только phpinfo()
решение1
cPanelMichael дает ответ на этой странице форума cPanel, который может помочь прояснить ситуацию:https://forums.cpanel.net/threads/php-handlers-in-easyapache4.592879/
По сути, PHP-FPM в cPanel в настоящее время реализован таким образом, что его можно включить только для домена, но он не доступен как глобальный или общесистемный обработчик PHP. Таким образом, глобально вы можете использовать DSO, suPHP или fcgi в качестве глобального обработчика, а затем включить PHP-FPM для определенного домена. Однако, если phpinfo() при вызове из домена, для которого вы включили PHP-FPM, не показывает никаких доказательств работы PHP-FPM для этого домена, то может быть проблема, которую системный администратор на вашем хосте данных с root-доступом к вашему серверу будет в гораздо лучшем положении для расследования.
Показывает ли ваш phpinfo() хотя бы --enable-fpm или --with-fpm-systemd в разделе Configure Command? Показывает ли php-fpm как 'active' в разделе cgi-fcgi ниже на странице phpinfo()? Есть ли директива fpm.config? Я бы сказал, если вы найдете хотя бы параметры команды configure, то все будет в порядке. Однако, если Ctrl+F -> 'fpm' не возвращает никаких результатов, я бы снова связался со службой технической поддержки компании, предоставляющей услуги хостинга данных, в которой вы размещаете свою учетную запись cPanel.