首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >没有这样的文件或目录: AH02454: FCGI:尝试连接Unix域套接字/var/run/php/php5.6-fpm.sock (*)失败

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

Stack Overflow用户
提问于 2019-10-14 00:20:08
回答 5查看 10.7K关注 0票数 3

我有这样的虚拟主机设置

代码语言:javascript
运行
复制
 <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>

phpinfo()显示我的站点有一个php5.6版本。好的!

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

代码语言:javascript
运行
复制
RDocumentChRoot /var /www/html
<Directory "/www/html/">
        Require all granted
        RMode config
        RUidGid admin0 admin0
</Directory>

在尝试访问站点后,我在日志中看到一个错误

代码语言:javascript
运行
复制
[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

告诉我,我做错了什么?

EN

回答 5

Stack Overflow用户

发布于 2020-01-09 15:18:29

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

代码语言:javascript
运行
复制
[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

为了解决这个问题,我不得不启动一个名为"php-fpm“的服务(sudo systemctl enable --现在是php-fpm),这导致了另一个错误:

代码语言:javascript
运行
复制
[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/php-fpm不存在造成的。

代码语言:javascript
运行
复制
mkdir -p /run/php-fpm/

在那之后,只是再次启动了php-fpm,这次没有错误,apache+php运行得很棒。

请注意,在你的错误和我的错误之间有一个小的区别,路径略有不同。您应该创建"/var/run/php/“而不是"/run/php-fpm/”。

希望这能有所帮助

票数 3
EN

Stack Overflow用户

发布于 2021-01-26 13:35:49

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

sudo service phpx.x-fpm restart

操作系统: centos Webserver: nginx

票数 2
EN

Stack Overflow用户

发布于 2020-05-25 22:58:52

我在CentOS 8Apache 2.4.37上也有同样的问题,在互联网上研究了很长时间后,我没有找到任何unix域代理的解决方案。

我不知道这是一个bug还是一个坏文档?

仅用于解决此问题您必须将proxy:unix:/YOUR_PATH替换为proxy:unix://YOUR_PATH

代码语言:javascript
运行
复制
<FilesMatch \.php$>
  SetHandler "proxy:unix:///var/run/php/php5.6-fpm.sock|fcgi://localhost/"
</FilesMatch>

注意:...|fcgi://localhost/必须为exists。

更改此设置后,将出现新问题:

File not found.

这个错误是正确的,因为我们能够从apache连接到php-fpm

我认为这个问题是错误的。请参阅此链接。

https://bugs.php.net/bug.php?id=55322

为了解决此问题,您必须实现以下结构:

httpd.conf

代码语言:javascript
运行
复制
<VirtualHost *:80>
  ServerName www.example.com
  DocumentRoot /var/www/example.com/public_html
  #your configs ....
</VirtualHost>

/etc/php-fpm.d/example.com.conf

代码语言:javascript
运行
复制
[example.com]
;your configs...

chroot = /
access.log = /var/www/$pool/logs/phpfpm-access-$pool.log
php_admin_value[open_basedir] = /var/www/$pool/public_html

;your configs...
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58365479

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档