1

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

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.

0

I'm solved this problem, When I used

/var/run/php5-fpm.sock

instead of /tmp/ and its working. But why cannot use some another folder instead of /var/run/ ?

  • There 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. – Gerald Schneider Feb 17 '18 at 21:18
0

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.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.