php7.0-fpm不能在Ubuntu-16.04上使用apache2.4

我正在使用Ubuntu-16.04来build立一个Apache服务器。 我使用php-fpm来处理php文件。 我跟着这个post 。 configuration完成后,我的apache2和php7.0-fpm服务正确重启。 但是,当我浏览一个PHP文件,我得到一个纯文件。 似乎没有PHP CGI来处理PHP文件。 我怎么了?

我是新来的Apache。 所以我不知道要粘贴什么configuration。 我会根据你的答案发布必要的configuration。 谢谢!


我的安装步骤:

安装PHP和PHP-fpm:

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

启用fastcgi mods

 sudo a2dismod php mpm_prefork sudo a2enmod actions fastcgi alias mpm_worker 

为php7.0-fpm创build一个全局configuration

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

并在configuration中写入:

 <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 ,但是获得了文件内容而不是打印的页面。

在Ubuntu 16.04中安装php7.0时,我刚刚遇到类似的问题。 不要让我这样做,但我认为这个问题必须与权限。 我将www-data作为/ var / www文件夹中所有文件的所有者和组,并将chmod权限更改为drwxrwxr-x。 这只是在我自己的开发服务器上,我没有经验,所以使用需要您自担风险。 他们可以像他们可以改变一样容易地撤消。

你的configuration有点偏离。 尝试这个:

  <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