![PHP-FPM - Erro 503 - Falha na tentativa de conexão com soquete de domínio Unix](https://rvso.com/image/717734/PHP-FPM%20-%20Erro%20503%20-%20Falha%20na%20tentativa%20de%20conex%C3%A3o%20com%20soquete%20de%20dom%C3%ADnio%20Unix.png)
Recebo estes erros no servidor (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 existe, tentei alterar as permissões para 777, mas não funcionou:
ls -l /tmp/php56-fpm.sock
-rw-rw----. 1 apache apache 0 Feb 17 16:11 /tmp/php56-fpm.sock
Configuração de escuta PHP-FPM www.conf (o arquivo completo está aqui:https://pastebin.com/uD5GsMna):
ouça=/tmp/php56-fpm.sock
Host virtual:
<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>
Meus arquivos de configuração são (httpd.conf):https://pastebin.com/XS6cDuFQ
Tentei alterar o soquete, alterar a permissão para o usuário Apache: Apache, mas não sei onde está o problema.
Obrigado
Responder1
Isso é potencialmente causado pela configuração do systemd no Apache, no Centos 7, por exemplo, por padrão, o serviço é configurado com:
PrivateTmp=true
O que significa que ele obtém seu próprio subdiretório em /tmp visível como /tmp para que não possa ver arquivos em /tmp adicionados por outros programas. A solução seria não usar /tmp para seus soquetes php-fpm (mais seguro do que definir o valor acima como falso).
(Eu percebo que em pelo menos um caso um derivado do Debian está em uso, mas ele também usa o systemd!)
Paulie.
Responder2
altere usuário e grupo para seu usuário apache atual
/etc/php-fpm.d/www.conf
** usuário e grupo devem ser iguais em/etc/http/conf/http.conf
Então execute
chown -R user.user /run/php-fpm/www.conf
** mude para seu usuário
Acredito que o que foi dito acima é para centOS, porque sou um cara Debian. Esta é na verdade uma das soluções para o problema 'serviço de erro 503 indisponível' causado pelo problema de permissão de sock do php8. Então sua meia no Apache estará em:
chown -R usuário.user /var/run/php/php8.1-fpm.sock
Responder3
Acabei de ter o mesmo problema depois de atualizar o Apache de 2.4.10 para 2.4.24. Com o apache antigo a conexão com o fcgi funcionava com um soquete no /tmp
, enquanto o novo apache dava erro (2)No such file or directory
. Mover o soquete para /var/run
resolver o problema.
Olhando o código-fonte do mod_proxy
, descobri que no apache mais recente o caminho deve ser relativo àquele especificado como DefaultRuntimeDir
. Na minha configuração, isso está definido /etc/apache2/apache2.conf
e também usa alguma definição de /etc/apache2/envvars
.
Responder4
Resolvi esse problema, quando usei
/var/run/php5-fpm.sock
em vez de /tmp/
e está funcionando. Mas por que não posso usar outra pasta em vez de /var/run/
?