Я использую 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. Это только на моем собственном сервере разработки, и у меня нет опыта в этом, поэтому используйте на свой страх и риск. Их можно отменить так же легко, как и изменить.