在开发中,有时会遇到需要使用不同的PHP版本的情况,如何在一个CentOS 7系统上搭建两个PHP版本呢?下面我们将详细介绍搭建方法。
一、准备
在开始搭建之前,先准备以下工具和环境:
1、CentOS 7服务器和root权限
2、两个不同版本的PHP,这里我们将使用PHP 5.6和PHP 7.2
3、Web服务器,这里我们将使用Apache服务器
4、EPEL和REMI仓库,这两个仓库提供了最新的PHP包和相关依赖包。如果没有安装,可以通过以下命令安装:
sudo yum install epel-release sudo rpm -Uvh https://rpms.remirepo.net/enterprise/remi-release-7.rpm
5、安装必要的依赖,可以使用以下命令安装
sudo yum install httpd mysql php php-mysql php-devel php-gd php-pspell php-snmp php-xmlrpc php-xml
二、安装PHP 5.6
1、安装php56和相关扩展包
sudo yum install php56 php56-php php56-php-common php56-php-fpm php56-php-gd php56-php-json php56-php-mbstring php56-php-mcrypt php56-php-mysqlnd php56-php-opcache php56-php-pdo php56-php-pecl-apcu php56-php-pecl-imagick php56-php-pecl-memcached php56-php-pecl-redis php56-php-pecl-xdebug php56-php-soap php56-php-xml php56-php-zip
2、创建使用的php.ini文件
sudo cp /opt/remi/php56/root/etc/php.ini /etc/php56.ini sudo cp /opt/remi/php56/root/etc/php-fpm.d/www.conf /etc/php56-fpm.d/www.conf
3、修改www.conf文件
sudo vi /etc/php56-fpm.d/www.conf
修改以下参数:
user = apache group = apache listen = 127.0.0.1:9000
4、 启动php56-fpm服务
sudo systemctl enable php56-php-fpm.service sudo systemctl start php56-php-fpm.service
5、测试PHP 5.6是否正常工作
echo "<?php phpinfo(); ?>" > /var/www/html/php56info.php curl http://localhost/php56info.php
如果返回PHP 5.6信息,则成功安装。
三、安装PHP 7.2
1、安装php72和相关扩展包
sudo yum install php72 php72-php php72-php-common php72-php-fpm php72-php-gd php72-php-json php72-php-mbstring php72-php-mcrypt php72-php-mysqlnd php72-php-opcache php72-php-pdo php72-php-pecl-apcu php72-php-pecl-imagick php72-php-pecl-memcached php72-php-pecl-redis php72-php-pecl-xdebug php72-php-soap php72-php-xml php72-php-zip
2、创建使用的php.ini文件
sudo cp /opt/remi/php72/root/etc/php.ini /etc/php72.ini sudo cp /opt/remi/php72/root/etc/php-fpm.d/www.conf /etc/php72-fpm.d/www.conf
3、修改www.conf文件
sudo vi /etc/php72-fpm.d/www.conf
修改以下参数:
user = apache group = apache listen = 127.0.0.1:9001
4、 启动php72-fpm服务
sudo systemctl enable php72-php-fpm.service sudo systemctl start php72-php-fpm.service
5、测试PHP 7.2是否正常工作
echo "<?php phpinfo(); ?>" > /var/www/html/php72info.php curl http://localhost/php72info.php
如果返回PHP 7.2信息,则成功安装。
四、配置Apache服务器
1、修改httpd.conf文件
sudo vi /etc/httpd/conf/httpd.conf
增加以下内容:
AddHandler php56 .php Action php56 /usr/bin/php56-cgi AddHandler php72 .php Action php72 /usr/bin/php72-cgi
2、修改虚拟主机配置文件
sudo vi /etc/httpd/conf.d/virtualhost.conf
增加以下内容:
<VirtualHost *:80> ServerName www.mysite.com DocumentRoot /var/www/html/mysite <Directory /var/www/html/mysite> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all Require all granted </Directory> <FilesMatch "\.php$"> SetHandler php72 </FilesMatch> </VirtualHost>
3、重启Apache服务器
sudo systemctl restart httpd.service
现在,您就可以同时运行两个PHP版本了。
总结
在这篇文章中,我们介绍了如何在CentOS 7上搭建两个PHP版本。有了这些知识,您就可以更灵活地开发和管理您的PHP应用程序了。
以上是CentOS 7搭建两个PHP版本的方法详解的详细内容。更多信息请关注PHP中文网其他相关文章!