在同一台服务器上运行两个 PHP 版本 [英] Running two PHP versions on the same server
问题描述
我在本地服务器上有两个项目,一个项目运行 PHP5.6,另一个项目运行 PHP7.0.现在可以根据项目启用这两个版本吗?我已经尝试在 htaccess 项目之一中添加 AddHandler application/x-httpd-php7 .php
但它不起作用.目前,服务器上已经安装了 PHP7.0 和 PHP5.6-fpm.下面是phpinfo的截图.
于是在谷歌上搜索了一整天.我设法在不同 php 版本的 FastCgi 中运行我的两个项目.感谢来自这个
site70.local/phpinfo.php:
I have two projects on the local server, one project is running PHP5.6 and the other one is running PHP7.0. Now would it be possible to enable this two versions based on the projects? I already tried adding AddHandler application/x-httpd-php7 .php
in one of the project htaccess but its not working. Currently, PHP7.0 and PHP5.6-fpm already installed on the server. Below is the screenshot of the phpinfo.
So after searching on Google for the whole day. I managed to run my two projects in FastCgi on different php versions. Thanks to the guys from this forum. I uninstalled everything including Apache and start over again. Below are the steps I used to enable two versions of PHP on my local server. Btw, my computer is running on Linux Mint 18.
Assuming you already installed Apache, created virtual host for the two projects and added the necessary php PPAs. Let's call the projects
site56.local
for PHP 5.6 andsite70.local
for PHP 7.0. Installphp5.6-fpm
andphp7.0-fpm
by running:sudo apt-get install php5.6-fpm sudo apt-get install php7.0-fpm
Create two files under
/usr/lib/cgi-bin/
(honestly I don't know if this step is still necessary), and save:sudo nano /usr/lib/cgi-bin/php56-fcgi sudo nano /usr/lib/cgi-bin/php70-fcgi
Open php56 conf file
/etc/apache2/conf-available/php5.6-fpm.conf
, add this config and save:<IfModule mod_fastcgi.c> AddHandler php56-fcgi .php Action php56-fcgi /php56-fcgi Alias /php56-fcgi /usr/lib/cgi-bin/php56-fcgi -socket /var/run/php/php5.6-fpm.sock -pass-header Authorization Action php70-fcgi /php70-fcgi Alias /php70-fcgi /usr/lib/cgi-bin/php70-fcgi -socket /var/run/php/php7.0-fpm.sock -pass-header Authorization </IfModule> <Directory /usr/lib/cgi-bin> Require all granted </Directory>
Now enable the new apache config:
sudo a2enconf php5.6-fpm
If you installed php5.6 and php5.7, make sure you disable this two and restart apache:
sudo a2dismod php5.6 php7.0 sudo systemctl restart apache2
Create a
.htacces
file on the project that should run on php7.0 and add this handler:AddHandler php70-fcgi .php
Now create a phpinfo file on the two projects and if you see something like this, then congratulations!
PS: Make sure you enable htaccess in your apache2.conf or httpd.conf
site56.local/phpinfo.php:
site70.local/phpinfo.php:
这篇关于在同一台服务器上运行两个 PHP 版本的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!