php7.0-fpm не работает

php7.0-fpm не работает

Я установил Apache php7.0на mysqlмашину с Ubuntu 16.04 и получаю ответ «php не запущен». Вот моя конфигурация 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>

Когда я пытаюсь зайти на сайт, он не анализирует PHP, а выводит его на экран.

У кого-нибудь есть идеи?

Я избавился от всего остального fpm, что работало с Apache 2.2, и добавил эту строку в conf

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

Теперь я получаю следующую ошибку в журналах ошибок

[Ср Мар 21 13:04:35.539499 2018] [proxy:error] [pid 26569] (13)Отказано в доступе: AH02454: FCGI: попытка подключения к сокету домена Unix /var/run/php/php7.0-fpm.kermit.sock (localhost) не удалась

Разрешения для сокета выглядят правильными.

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

Я не знаю, откуда он взял этот знак =

решение1

Если вы используете PHP-FPM, вам следует рассмотреть возможность использования mod_proxy_fcgi, который недавно появился в Apache 2.4 и предназначен как раз для этого типа использования.Запись Apache wiki для PHP-FPMесть несколько хороших рекомендаций для начала.

Themod_proxy_fcgiдокументациятакже включает конкретные примеры настройки PHP-FPM иPHP-документациятакже содержит полезную информацию.

решение2

Ваши права доступа к сокету неверны: "srw-rw---- 1 kermit kermit 0 21 марта 13:00 php7.0-fpm.kermit.sock"

Вы говорите, что Apache работает с www-data.

Вам нужно либо добавить www-data в kermit, либо изменить права доступа к сокету в конфигурации пула php-fpm на что-то вроде kermit:www-data

решение3

Мне удалось исправить это, изменив группу на www-data, а также выполнив несколько других изменений, которые произошли в более поздних версиях apache-22 и 24.

Связанный контент