php7.0-fpm não funciona com o apache2.4 no Ubuntu-16.04

1

Estou usando o Ubuntu-16.04 para estabelecer um servidor apache. Eu uso o php-fpm para lidar com arquivos php. Eu segui este post . Após a configuração, meus serviços apache2 e php7.0-fpm foram reiniciados corretamente. Mas quando eu navego em um arquivo php eu tenho um arquivo simples. Parece que não há php cgi para lidar com o arquivo php. O que há de errado comigo?

Sou novo no apache. Então eu não sei quais configurações para colar. Vou postar as configurações necessárias de acordo com suas respostas. Thx!

Minhas etapas de instalação:

Instale o PHP e o PHP-fpm:

sudo apt-get install php libapache2-mod-php
sudo apt-get install libapache2-mod-fastcgi php7.0-fpm

Ativar os modificadores fastcgi

sudo a2dismod php mpm_prefork
sudo a2enmod actions fastcgi alias mpm_worker

Crie uma configuração global para php7.0-fpm

sudo vim /etc/apache2/conf-available/php7.0-fpm.conf

E escreva nas configurações:

<IfModule mod_fastcgi.c>
    AddHandler php7.0-fcgi .php
    Action php7.0.fcgi /php7.0.fcgi
    Alias /php7.0-fcgi /usr/lib/cgi-bin/php7.0.fcgi
    FastCgiExternalServer /usr/lib/cgi-bin/php7.0.fcgi -socket /var/run/php7.0.fpm.sock -pass-header Authorization
    <Directory /usr/lib/cgi-bin>
        Require all granted
    </Directory>
</IfModule>

Em seguida, ative o php7.0-fpm conf

sudo a2enconf php7.0-fpm

Reinicie o apache e o fpm

sudo service apache2 restart && sudo service php7.0-fpm restart

Edite o /var/www/html/index.php :

<?php
phpinfo();
?>

Em seguida, procure http://localhost/index.php , mas receba o conteúdo do arquivo em vez da página impressa.

    
por cosmozhang 03.05.2017 / 19:48

2 respostas

2

Suas configurações estão um pouco erradas. Tente isto:

    <Directory /usr/lib/cgi-bin>
        Require all granted
    </Directory>
    <IfModule mod_fastcgi.c>
        AddHandler php7-fcgi .php
        Action php7-fcgi /php7-fcgi
        Alias /php7-fcgi /usr/lib/cgi-bin/php7-fcgi
        FastCgiExternalServer /usr/lib/cgi-bin/php7-fcgi -socket /var/run/php/php7.0-fpm.sock -pass-header Authorization
    </IfModule>

Eu adiciono isso aqui e funciona bem: /etc/apache2/sites-available/000-default.conf

    
por 27.07.2017 / 01:01
0

Acabei de passar por problemas semelhantes ao instalar o php7.0 no Ubuntu 16.04. Não me segure, mas acho que o problema tem a ver com permissões. Eu faço o www-data o proprietário e o grupo de todos os arquivos na pasta / var / www e as permissões chmod são alteradas para drwxrwxr-x. Isso é apenas no meu próprio servidor de desenvolvimento e eu não sou tão experiente nisso, então use a seu próprio risco. Eles podem ser desfeitos tão facilmente quanto podem ser alterados.

    
por 26.05.2017 / 02:55