Apache 2.4 错误:FCGI:尝试连接到 Unix 域套接字 /run/php/php7.0-fpm.sock (*) 失败

Mlr*_*Mlr 6 php apache

我已将我的工作 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`
Run Code Online (Sandbox Code Playgroud)

PHP-FPM 的错误日志什么也没说。

如果我尝试通过 IP 直接访问服务器,也会发生同样的事情。

系统详情:

  • Debian 8
  • 阿帕奇 2.4
  • PHP7
  • PHP7-FPM

我必须在哪里查找问题?如果需要,可以提供配置文件。

Sri*_*kar 13

如果您使用的是PHP-FPM,问题也可能是您需要启动 PHP 服务。

Apache 不会自动停止该进程,因此您将手动启动它或在启动时自动启动

对于 PHP 7.x(记住包括您的版本):

service php7.x-fpm start
Run Code Online (Sandbox Code Playgroud)

对于 PHP 7:

service php7-fpm start
Run Code Online (Sandbox Code Playgroud)

对于 PHP 5:

service php-fpm start
Run Code Online (Sandbox Code Playgroud)

这将为您开始 FPM 流程。

此外,您可能还希望该进程在引导时启动。为此,只需输入以下内容,当然要考虑您各自的版本。

systemctl enable php7.x-fpm
Run Code Online (Sandbox Code Playgroud)


Dhe*_*jje 5

我遇到了同样的问题,在具有php7.4这些虚拟主机配置文件(位于/etc/apache2/sites-available/目录中)的新服务器上,我从具有php7.2.

当详细检查时我发现

<FilesMatch \.php$>
     SetHandler "proxy:unix:/run/php/php7.2-fpm.sock|fcgi://localhost/"
</FilesMatch>
Run Code Online (Sandbox Code Playgroud)

然后我用它代替

<FilesMatch \.php$>
     SetHandler "proxy:unix:/run/php/php7.4-fpm.sock|fcgi://localhost/"
</FilesMatch>
Run Code Online (Sandbox Code Playgroud)

基本上更新了php版本,重启后就正常了apache2


小智 1

为了使其在我的主机上运行,​​我采取了以下步骤:

in /etc/apt/sources.list- 添加non-free到 debian 存储库

apt update
apt install libapache2-mod-fastcgi
a2enmod fastcgi
Run Code Online (Sandbox Code Playgroud)

(这使得“无效命令‘FastCgiExternalServer’错误,我在新安装中遇到”消失了)。

在 Froxlor -“设置”-“Froxlor VirtualHost 设置”中: [X] 为 Froxlor vHost 启用 PHP-FPM 如果启用,Froxlor 也将在本地用户下运行。

我还从 apache2 中删除了所有“Listen”条目ports.conf