没有这样的文件或目录:AH02454:FCGI:尝试连接到 Unix 域套接字 /var/run/php/php5.6-fpm.sock (*) 失败

use*_*ser 9 php apache fastcgi apache-modules apache2.4

我有这样的虚拟主机设置

 <VirtualHost *:80>
            ServerAdmin webmaster@localhost
            DocumentRoot /var/www/html
    <FilesMatch \.php$>
    SetHandler "proxy:unix:/var/run/php/php5.6-fpm.sock|fcgi://localhost/"
    </FilesMatch>
            ErrorLog ${APACHE_LOG_DIR}/error.log
            CustomLog ${APACHE_LOG_DIR}/access.log combined
    </VirtualHost>
Run Code Online (Sandbox Code Playgroud)

phpinfo() 显示我的网站有 php 5.6 版本。好的!

现在我正在尝试使用 Mod_Ruid2 来限制权限。我将以下内容添加到我的虚拟主机

RDocumentChRoot /var /www/html
<Directory "/www/html/">
        Require all granted
        RMode config
        RUidGid admin0 admin0
</Directory>
Run Code Online (Sandbox Code Playgroud)

尝试访问该网站后,我在日志中看到错误

[Sun Oct 13 16:09:02.492117 2019] [proxy:error] [pid 13571] (2)No such file or directory: AH02454: FCGI: attempt to connect to Unix domain socket /var/run/php/php5.6-fpm.sock (*) failed
[Sun Oct 13 16:09:02.492194 2019] [proxy_fcgi:error] [pid 13571] [client 192.168.0.110:47622] AH01079: failed to make connection to backend: httpd-UDS
Run Code Online (Sandbox Code Playgroud)

告诉我,我做错了什么?

小智 10

我刚刚在尝试在 CentOS 8 上运行 apache(2.4) + php(7.2) 时遇到了同样的问题。

[Thu Jan 09 06:59:10.420499 2020] [proxy:error] [pid 121:tid 139846433412864] (2)No such file or directory: AH02454: FCGI: attempt to connect to Unix domain socket /run/php-fpm/www.sock (*) failed
[Thu Jan 09 06:59:10.420535 2020] [proxy_fcgi:error] [pid 121:tid 139846433412864] [client 127.0.0.1:55580] AH01079: failed to make connection to backend: httpd-UDS
Run Code Online (Sandbox Code Playgroud)

为了解决这个问题,我必须启动一个名为“php-fpm”的服务(sudo systemctl enable --now php-fpm),这导致我遇到另一个错误:

[09-Jan-2020 07:07:09] ERROR: unable to bind listening socket for address '/run/php-fpm/www.sock': No such file or directory (2)
[09-Jan-2020 07:07:09] ERROR: FPM initialization failed
Run Code Online (Sandbox Code Playgroud)

这是由于文件夹 /run/php-fpm 不存在造成的。

mkdir -p /run/php-fpm/
Run Code Online (Sandbox Code Playgroud)

之后,再次启动 php-fpm,这次没有错误,apache+php 工作得非常顺利。

请注意,您的错误和我的错误之间存在细微差别,路径有点不同。您应该创建“/var/run/php/”,而不是“/run/php-fpm/”。

希望这可以帮助


小智 6

我遇到了同样的问题,就我而言,我可以通过运行代码重新启动 PHP fpm 服务来修复它:

sudo service phpx.x-fpm restart

操作系统:centos 网络服务器:nginx