版本实现Linux安装多个PHP版本的方法(linux安装多个php)
Linux安装多个PHP版本,是Linux系统中网站开发、开发环境测试等情况下经常使用到的,在这种情况下,在Linux中同时安装多个PHP版本,可以满足不同多版本的PHP应用要求,这样也方便了开发者们进行开发和测试。那么,安装Linux多个版本的PHP该如何操作呢?下面就给大家分享一下Linux安装多个PHP版本的方法。
首先,安装Linux多个版本的PHP之前,您需要事先安装好Apache或nginx服务器, Apache的安装和nginx的安装可以参考Linux命令的常用实例。 安装完成后,如下:
1. 安装有源码版本的PHP 各版本:
在shell模式下,输入以下命令安装各PHP版本,本实例以PHP7.3为例:
cd /usr/local/src # 进入安装源码目录
wget http://cn2.php.net/distributions/php-7.3.19.tar.gz # 下载指定PHP版本
tar xvf php-7.3.19.tar.gz # 解压源码
cd php-7.3.19/ # 进入解压后文件目录
./configure --prefix=/usr/local/php --with-fpm-user=nginx --with-fpm-group=nginx --with-config-file-path=/usr/local/php --with-config-file-scan-dir=/etc/php/conf.d --disable-fileinfo && make && make install # 指定各文件存放的位置和执行安装
安装完成后,执行php -v查看PHP版本,结果显示PHP 7.3.19。
2. 同时安装PHP5.X及PHP7.X两个版本:
同时安装PHP5.X及PHP7.X两个版本,首先需要指定安装每个版本时的目录,本实例安装php5.6.40及php7.3.19,安装PHP 5.6.40时设定为/usr/local/php5,安装php7.3.19时设定为/usr/local/php7:
cd /usr/local/src # 进入安装源码目录
wget http://php.net/get/php-5.6.40.tar.gz/from/this/mirror # 下载指定PHP版本
tar xvf php-5.6.40.tar.gz # 解压源码
cd php-5.6.40/ # 进入解压后文件目录
./configure --prefix=/usr/local/php5 --with-fpm-user=nginx --with-fpm-group=nginx --with-config-file-path=/usr/local/php5 --with-config-file-scan-dir=/etc/php/5.5.d --disable-fileinfo && make && make install # 指定各文件存放的位置和执行安装
cd /usr/local/src
wget http://cn2.php.net/distributions/php-7.3.19.tar.gz # 下载指定 PHP 版本
tar xvf php-7.3.19.tar.gz # 解压源码
cd php-7.3.19/ # 进入解压后文件目录
./configure --prefix=/usr/local/php7 --with-fpm-user=nginx --with-fpm-group=nginx --with-config-file-path=/usr/local/php7 --with-config-file-scan-dir=/etc/php/7.4.d --disable-fileinfo && make && make install # 指定相关文件存放位置和执行安装
2. 配置多版本PHP之间的选择:
安装完每个版本的PHP之后,需要在 Apache或Nginx 服务器上配置多个PHP版本之间的切换,否则每次如果只能使用默认的PHP,并不方便实际使用。 Apache服务器的配置如下:
# 将 php5 和 php7 分别放置在不同的位置,以下指定 php5 的位置为/usr/local/php5/bin/php,指定 php7 的位置为/usr/local/php7/bin/php
AddType application/x-httpd-php5-5.5 .php5
AddType application/x-httpd-php7-5.5 .php7
AddType application/x-httpd-php5 .php
AddHandler application/x-httpd-php5 .php7
AddHandler application/x-httpd-php7 .php5
Nginx服务器的配置如下:
location ~[\.php]$ {
fastcgi_pass unix:/usr/local/php5/socker/php-cgi.sock;
fastcgi_index index.php;
include fastcgi.conf;
}
location ~\.php5$ {
fastcgi_pass unix:/usr/local/php7/socker/php-cgi.sock;
fastcgi_index index.php;
include fastcgi.conf;
}
完成这步之后,将会把* .php .php5分别指向php5