php7.0-fpm não funciona

3

Instalei o Apache php7.0 e mysql em uma máquina Ubuntu 16.04 e obtive a resposta "o php não está em execução". Aqui está minha configuração de vhost:

<VirtualHost *:80>
  ServerAdmin [email protected]
  ServerName www.example.com
  DocumentRoot /var/www/sites/www.example.com/httpdocs
  ScriptAlias "cgi-bin" "/var/www/sites/wwww.example.com/cgi-bin"

  ErrorLog ${APACHE_LOG_DIR}/www.example.com.error_log

  LogLevel debug

  CustomLog ${APACHE_LOG_DIR}/www.example.com.log combined

    <IfModule mod_fastcgi.c>

    AddHandler php7-fcgi .php
    Action php7-fcgi /php7-fcgi virtual
    Alias /php7-fcgi-kermit /usr/lib/cgi-bin/php7-fcgi-kermit
    FastCgiExternalServer /usr/lib/cgi-bin/php7-fcgi-kermit -socket /run/php/php7.0-fpm.kermit.sock -pass-header Authorization

    <Directory "/usr/lib/cgi-bin">
    Require all granted
    </Directory>
    </IfModule>

  <IfModule mod_fastcgi.c>
    <FilesMatch ".+\.ph(p[345]?|t|tml)$">
      SetHandler php7-fcgi-kermit
    </FilesMatch>
  </IfModule>

</VirtualHost>

Quando eu tento ir ao site, ele não está analisando o php, mas imprimindo na tela.

Alguém tem alguma ideia?

Eu me livrei de todas as outras coisas do fpm que costumavam trabalhar com o apache 2.2 e adicionei essa linha ao conf

ProxyPassMatch ^/(.*\.php(/.*)?)$ unix:/var/run/php/php7.0-fpm.kermit.sock|fcgi://localhost/var/www/sites/www.example.com/httpdocs  

Agora recebo o seguinte erro nos registros de erros

[Wed Mar 21 13:04:35.539499 2018] [proxy:error] [pid 26569] (13)Permission denied: AH02454: FCGI: attempt to connect to Unix domain socket /var/run/php/php7.0-fpm.kermit.sock (localhost) failed

As permissões parecem corretas para o soquete

srw-rw----  1 kermit   kermit     0 Mar 21 13:00 php7.0-fpm.kermit.sock=  

Eu não sei onde está ficando esse sinal = embora

    
por QIS_Willie 21.03.2018 / 16:25

3 respostas

2

Se você estiver usando o PHP-FPM, você deve considerar o uso de mod_proxy_fcgi , que está disponível recentemente no Apache 2.4 e é apenas para este tipo de caso de uso. A entrada do wiki Apache para o PHP-FPM tem uma boa orientação para começar.

A mod_proxy_fcgi documentação também inclui exemplos específicos para configurar o PHP-FPM e o A documentação do PHP também tem informações úteis.

    
por 21.03.2018 / 16:54
0

Suas permissões de soquete estão incorretas: "srw-rw ---- 1 kermit kermit 0 21 de março 13:00 php7.0-fpm.kermit.sock"

Você diz que o Apache é executado com www-data.

Você também precisa adicionar www-data para executar ou alterar as permissões de socket na configuração do conjunto php-fpm para algo como kermit: www-data

    
por 22.03.2018 / 18:22
0

Consegui corrigir isso alterando o grupo para www-data junto com algumas outras alterações que ocorreram em versões posteriores do apache-22 e 24

    
por 02.04.2018 / 15:51