众所周知,PHP7比PHP5快很多,但是有时候还是会遇到一些PHP7不支持的程序,故使用PHP7和5共存的方案使一些程序达到更快的速度,又使一些程序可以兼容。
首先安装PHP7与PHP5,包安装PHP7需要添加dotdeb源
在/etc/apt/sources.list中添加如下几行

deb http://packages.dotdeb.org jessie all
deb-src http://packages.dotdeb.org jessie all

然后导入Dotdeb的GnuPG key

wget https://www.dotdeb.org/dotdeb.gpg
sudo apt-key add dotdeb.gpg

接着

sudo apt-get update

然后安装PHP5和PHP7

apt-get install apache2 libapache2-mod-fastcgi php5-fpm php7.0-fpm

当然如果你需要一些其他的包如:php5-mysql php5-curl php7.0-mysql php7.0-curl等记得安装
然后

sudo a2enmod actions

接下来你有两种选择,分别为启用PHP7或PHP5:
PHP7:

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

PHP5:

 <IfModule mod_fastcgi.c>
 AddType application/x-httpd-fastphp5 .php
 Action application/x-httpd-fastphp5 /php5-fcgi
 Alias /php5-fcgi /usr/lib/cgi-bin/php5-fcgi
 FastCgiExternalServer /usr/lib/cgi-bin/php5-fcgi -socket /var/run/php5-fpm.sock -pass-header Authorization
<Directory /usr/lib/cgi-bin>
 Require all granted
</Directory>
</IfModule>

将其中一段放在/etc/apache2/sites-available下的.conf文件中就可以使用PHP了。

 

当然如果你大多都是一种PHP版本只是有个别是另一个的话,可以考虑将/etc/apache2/mods-available/fastcgi.conf替换为上面的代码,就是默认了。
这样就只要在另一个版本的site conf中添加了。。。
留一个坑,下次来补php-fpm的pool

6 thoughts on “Debian 8.x Jessie下Apache中PHP5与PHP7共存”

Comments are closed.