Httpd – PHP-FPM – Error 503 – Attempt to connect to Unix domain socket failed

apache-2.4httphttpdphp-fpm

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

Best Answer

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.