php-fpm (PHP-7.1) não pode servir conteúdo para nginx no FreeBSD

1

Estou tentando instalar nginx e php-fpm após guia em um sistema FreeBSD 11.1 em um raspberrypi-B +.

Tudo se comporta conforme descrito no guia até o ponto 14, que envolve abrindo um arquivo php com informações sobre o sistema executando

phpinfo();

Nesse momento, quando eu abro http://localhost/info.php , nginx expira enquanto aguardo uma resposta de php-fpm . A seguinte mensagem aparece no nginx log:

[error] 876#100128: *1 upstream timed out (60: Operation timed out) while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "GET /info.php HTTP/1.0", upstream: "fastcgi://127.0.0.1:9000", host: "localhost"

Em /usr/local/etc/nginx/nginx.conf , tenho uma seção para php files:

location ~ \.php$ {
    root           /usr/local/www/nginx;
    fastcgi_pass   127.0.0.1:9000;
    fastcgi_index  index.php;
    fastcgi_read_timeout 180;
    fastcgi_param  SCRIPT_FILENAME $request_filename;    
    include        fastcgi_params;
}

e em /usr/local/etc/php-fpm.d/www.conf tenho a linha:

listen = 127.0.0.1:9000

Por isso, verifiquei se nginx pode se conectar a php-fpm :

$ sudo sockstat -4 -6| grep nginx

www      nginx      876   3  tcp4   127.0.0.1:80          127.0.0.1:35165
www      nginx      876   6  tcp4   *:80                  *:*
www      nginx      876   9  tcp4   127.0.0.1:60676       127.0.0.1:9000
root     nginx      875   6  tcp4   *:80                  *:*

onde você pode ver a conexão de entrada solicitando a página e a conexão de saída para a porta 9000 (fastcgi).

Olhando para php-fpm com

$ sudo  sockstat -4 -6| grep php-fpm

www      php-fpm    935   0  tcp4   127.0.0.1:9000        *:*
www      php-fpm    934   0  tcp4   127.0.0.1:9000        *:*
www      php-fpm    934   4  tcp4   127.0.0.1:9000        127.0.0.1:60676
root     php-fpm    933   8  tcp4   127.0.0.1:9000        *:*

onde você pode ver a conexão de entrada.

Portanto, nginx parece estar conectado a php-fpm , mas nada acontece. Em htop , posso ver um processo mestre php-fpm com dois processos filho do trabalhador, um dos quais está levando quase 100% do tempo da CPU. Depois de um tempo, nginx expira e o funcionário php-fpm fica em 100% e não libera o soquete. O arquivo de log php-fpm ( /var/log/php-fpm.log ) não mostra nenhum erro:

[24-Dec-2017 23:09:21] NOTICE: fpm is running, pid 933
[24-Dec-2017 23:09:21] NOTICE: ready to handle connections

O Pid 933 é o mestre. Nenhuma saída de log dos processos filhos.

Então é isso que eu encontrei e não tenho nenhuma ideia do que devo ver a seguir. Você tem alguma sugestão?

EDITAR

O problema parece estar relacionado ao PHP-7.1. Eu instalei uma versão mais antiga (PHP-5.6) e o problema desapareceu. Deixo a questão em aberto caso o problema esteja relacionado a alguma configuração específica do PHP-7.

    
por Giorgio 24.12.2017 / 23:32

0 respostas