PHP-FPM - Error 503 - Attempt to connect to Unix domain socket failed
Solution 1
This is potentially caused by systemd configuration on Apache, on Centos 7 for example by default the service is configured with :
PrivateTmp=true
Which means it gets its own subdirectory in /tmp visible as /tmp so it can't see files in /tmp added by other programs. The solution would be to not use /tmp for your php-fpm sockets (more secure than setting the above to false).
(I realise that in at least one case a Debian derivative is in use, but it uses systemd too!)
paulie.
Solution 2
I just had the same problem after updating apache from 2.4.10 to 2.4.24.
With old apache the connection to fcgi worked with a socket in /tmp
, while the new apache gave error (2)No such file or directory
. Moving the socket to /var/run
solved the problem.
Looking at the source code for mod_proxy
, I found that on newer apache the path should be relative to the one specified as DefaultRuntimeDir
. In my configuration, this is set in /etc/apache2/apache2.conf
and it also uses some definition from /etc/apache2/envvars
.
Solution 3
change user and group to your current apache user
/etc/php-fpm.d/www.conf
** user and group must be the same in /etc/http/conf/http.conf
Then execute
chown -R user.user /run/php-fpm/www.conf
** change to your user
Related videos on Youtube
Pavel Novák
Updated on September 18, 2022Comments
-
Pavel Novák over 1 year
I get on server this errors (CentOs 7):
[proxy:debug] proxy_util.c(2209): [client 80.251.245.153:61902] AH00944: connecting fcgi://127.0.0.1/data/webs/dev/index.php to 127.0.0.1:8000 [proxy:debug] proxy_util.c(2246): [client 80.251.245.153:61902] AH02545: fcgi: has determined UDS as /tmp/php56-fpm.sock [proxy:debug] proxy_util.c(2418): [client 80.251.245.153:61902] AH00947: connected /data/webs/dev/index.php to httpd-UDS:0 [proxy:error] (2)No such file or directory: AH02454: FCGI: attempt to connect to Unix domain socket /tmp/php56-fpm.sock (*) failed [proxy_fcgi:error] AH01079: failed to make connection to backend: httpd-UDS [proxy:debug] proxy_util.c(2171): AH00943: FCGI: has released connection for (*)
Socket Exists, i'm tried change permissions to 777, but not working:
ls -l /tmp/php56-fpm.sock -rw-rw----. 1 apache apache 0 Feb 17 16:11 /tmp/php56-fpm.sock
PHP-FPM www.conf listen setting (full file is here: https://pastebin.com/uD5GsMna):
listen=/tmp/php56-fpm.sock
Virtualhost:
<VirtualHost *:80> ServerName dev.stavebninyfranek.com DocumentRoot "/data/webs/dev" <FilesMatch "\.php$"> SetHandler "proxy:unix:/tmp/php56-fpm.sock|fcgi://127.0.0.1" </FilesMatch> </VirtualHost>
My config files is (httpd.conf): https://pastebin.com/XS6cDuFQ
Im tryed change socket, change permission to apache:apache user, but I dont know where is problem.
Thanks
-
dortegaoh about 6 yearsThere are selinux permissions on that file (indicated by the dot after the permissions). You can see them with
ls -Z
. Most probably the file had the wrong selinux context.