我有这样的虚拟主机设置
<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来限制权限。我向我的虚拟主机添加了以下内容
RDocumentChRoot /var /www/html
<Directory "/www/html/">
Require all granted
RMode config
RUidGid admin0 admin0
</Directory>
在尝试访问站点后,我在日志中看到一个错误
[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
告诉我,我做错了什么?
发布于 2020-01-09 15:18:29
当我试图在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
为了解决这个问题,我不得不启动一个名为"php-fpm“的服务(sudo systemctl enable --现在是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/php-fpm不存在造成的。
mkdir -p /run/php-fpm/
在那之后,只是再次启动了php-fpm,这次没有错误,apache+php运行得很棒。
请注意,在你的错误和我的错误之间有一个小的区别,路径略有不同。您应该创建"/var/run/php/“而不是"/run/php-fpm/”。
希望这能有所帮助
发布于 2021-01-26 13:35:49
我遇到了同样的问题,在我的例子中,我可以通过重新启动PHP fpm服务,通过运行代码来修复它:
sudo service phpx.x-fpm restart
操作系统: centos Webserver: nginx
发布于 2020-05-25 22:58:52
我在CentOS 8
和Apache 2.4.37
上也有同样的问题,在互联网上研究了很长时间后,我没有找到任何unix域代理的解决方案。
我不知道这是一个bug还是一个坏文档?
仅用于解决此问题您必须将proxy:unix:/YOUR_PATH
替换为proxy:unix://YOUR_PATH
。
<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
<VirtualHost *:80>
ServerName www.example.com
DocumentRoot /var/www/example.com/public_html
#your configs ....
</VirtualHost>
/etc/php-fpm.d/example.com.conf
[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...
https://stackoverflow.com/questions/58365479
复制相似问题