Назад | Перейти на главную страницу

php7.0-fpm не работает с apache2.4 в Ubuntu-16.04

Я использую Ubuntu-16.04 для установки сервера apache. Я использую php-fpm для обработки файлов php. Я последовал за эта почта. После настройки мои службы apache2 и php7.0-fpm перезапустились правильно. Но когда я просматриваю файл php, я получаю простой файл. Кажется, что нет php cgi для обработки файла php. Что со мной не так?

Я новичок в Apache. Поэтому я не знаю, какие конфигурации вставлять. По вашим ответам выложу необходимые конфигурации. Спасибо!


Мои шаги по установке:

Установите PHP и PHP-fpm:

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

Включите моды fastcgi

sudo a2dismod php mpm_prefork
sudo a2enmod actions fastcgi alias mpm_worker

Создайте глобальную конфигурацию для php7.0-fpm

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

И напишите в конфигурациях:

<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>

Затем включите php7.0-fpm conf

sudo a2enconf php7.0-fpm

Перезагрузите apache и fpm

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

редактировать /var/www/html/index.php:

<?php
phpinfo();
?>

Затем просмотрите http://localhost/index.php, но получил содержимое файла вместо распечатанной страницы.

Ваши конфигурации немного не в порядке. Попробуй это:

    <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>

Я добавляю это сюда и хорошо работает: /etc/apache2/sites-available/000-default.conf

Я столкнулся с аналогичными проблемами при установке php7.0 в Ubuntu 16.04. Не держите меня за это, но я думаю, что проблема связана с разрешениями. Я делаю www-data владельцем и группой всех файлов в папке / var / www, а права доступа chmod меняются на drwxrwxr-x. Это только на моем собственном сервере разработки, и у меня нет опыта в этом, поэтому используйте на свой страх и риск. Их можно отменить так же легко, как и изменить.