我已将我的 Froxlor 安装更新到 PHP 7。 我的所有客户站点都工作得很好(通过 FPM 使用 PHP 7)。
唯一的问题是,如果我想访问 Froxlor 后端,我会收到错误 503。 apache 错误日志显示:
`[Tue Oct 11 10:01:04.067069 2016] [proxy:error] [pid 23949] (2)No such file or directory: AH02454: FCGI: attempt to connect to Unix domain socket /run/php/php7.0-fpm.sock (*) failed`
`[Tue Oct 11 10:01:04.089648 2016] [proxy_fcgi:error] [pid 23949] [client xx.xx.xx.xx:1819] AH01079: failed to make connection to backend: httpd-UDS`
PHP-FPM 的错误日志什么也没说。
如果我尝试通过 IP 直接访问服务器,也会发生同样的事情。
系统详细信息:
我必须在哪里寻找问题?如果需要,可以提供配置文件。
如果您使用的是PHP-FPM,问题也可能是您需要启动PHP服务。
Apache 不会自动停止该进程,因此您可以手动启动它或在启动时自动启动
对于 PHP 7.x(请记住包含您的版本):
service php7.x-fpm start
对于 PHP 7:
service php7-fpm start
对于 PHP 5:
service php-fpm start
这将为您开始 FPM 流程。
此外,您可能还希望该进程在启动时启动。为此,只需输入以下内容,当然要考虑您各自的版本。
systemctl enable php7.x-fpm
我有同样的问题,在具有
php7.4
的新服务器和这些虚拟主机配置文件(位于 /etc/apache2/sites-available/
目录中)我从具有 php7.2
的服务器迁移。
详细检查后我发现
<FilesMatch \.php$>
SetHandler "proxy:unix:/run/php/php7.2-fpm.sock|fcgi://localhost/"
</FilesMatch>
然后我替换为
<FilesMatch \.php$>
SetHandler "proxy:unix:/run/php/php7.4-fpm.sock|fcgi://localhost/"
</FilesMatch>
基本上更新了php版本,重启后就正常了
apache2
为了使其在我的主机上运行而采取的步骤:
在
/etc/apt/sources.list
- 将 non-free
添加到 debian 存储库
apt update
apt install libapache2-mod-fastcgi
a2enmod fastcgi
(这使得“无效命令‘FastCgiExternalServer’错误,我在新安装中遇到”,消失了)。
在 Froxlor -“设置”-“Froxlor VirtualHost 设置”: [X] 为 Froxlor vHost 启用 PHP-FPM 如果启用,Froxlor 也将在本地用户下运行。
我还删除了 apache2 的所有“Listen”条目
ports.conf
在此实例中,我的服务器上的另一个服务正在使用 FPM 实例。删除该 sock 文件后问题就解决了。这是我使用的有用链接Apache Service Unavailable 503