商城首页欢迎来到中国正版软件门户

您的位置: 首页 > 文章列表 > 编程开发 > PHP在CentOS上如何进行版本管理

PHP在CentOS上如何进行版本管理

  发布于2026-07-14 阅读(0)

扫一扫,手机访问

PHP版本管理这事儿,对于跑在CentOS上的服务器来说,确实是个绕不开的话题。不同的项目对PHP版本有各自的要求,有的需要老版本保持兼容,有的则想尝鲜新特性。好在,我们在CentOS上至少有三种主流方案可以应对,每种都有其适用场景,下面就来拆解一下。

Remi仓库:主流方案,省心省力

如果你希望兼顾稳定性和易用性,Remi仓库是大多数情况下的首选。它跟系统的yum/dnf包管理器深度集成,用起来就像安装普通软件包一样简单,而且能提供最新的PHP版本和扩展。

具体怎么操作?其实就三步走。

第一步,得先把基础环境搭好。安装EPEL仓库和Remi仓库本身,这是绕不开的第一步。以CentOS 7为例,命令很直接:

sudo yum install epel-release
sudo yum install https://rpms.remirepo.net/enterprise/remi-release-7.rpm

第二步,锁定目标版本。通过yum-config-manager工具,启用你需要的那个PHP版本仓库。比如,想用PHP 7.4,就运行:

sudo yum-config-manager --enable remi-php74

第三步,安装与切换。安装PHP及其常用扩展包(比如cli、fpm、mysqlnd等),系统会自动帮你切换到刚启用的版本:

sudo yum install php php-cli php-fpm php-mysqlnd php-gd php-mbstring

最后,用php -v确认一下版本号,看看是否如你所愿。如果Web服务器(如Apache或Nginx)也需要使用新版本,记得修改对应PHP-FPM的配置文件(比如/etc/opt/remi/php74/php-fpm.conf),然后重启服务。

phpbrew:开发环境的灵活切换利器

如果你是个喜欢折腾的开发环境玩家,或者需要频繁地在不同PHP版本之间切换测试,那phpbrew绝对是你的好帮手。它支持多版本共存,切换起来非常灵活。

安装过程也很简单,先通过curl下载安装脚本:

curl -L -O https://github.com/phpbrew/phpbrew/releases/latest/download/phpbrew.phar
chmod +x phpbrew.phar
sudo mv phpbrew.phar /usr/local/bin/phpbrew

然后,把它加到Shell配置文件中,让每次打开终端都能调用它:

echo '[[ -e ~/.phpbrew/bashrc ]] && source ~/.phpbrew/bashrc' >> ~/.bashrc
source ~/.bashrc

接下来,就可以用phpbrew安装你想要的PHP版本了。比如,同时安装PHP 7.4和8.1,并分别设置默认版本:

phpbrew install 7.4 +default
phpbrew install 8.1

切换版本时,phpbrew switch 8.1是全局切换,而phpbrew use 7.4则只对当前终端窗口生效。最后,用php -v验证一下,一切尽在掌握。

源码编译安装:定制化需求者的终极方案

如果你的需求非常特殊,比如需要启用某些手动编译的扩展,或者要调整底层的编译参数,那么源码编译安装是唯一的选择。当然,它的复杂度也最高。

首先,你需要安装编译工具和一堆依赖库:

sudo yum groupinstall "Development Tools"
sudo yum install gcc make libxml2-devel openssl-devel bzip2-devel libcurl-devel libjpeg-devel libpng-devel freetype-devel libmcrypt-devel libmhash-devel

然后,从PHP官网下载你想要的源码包,比如PHP 7.4.28,并解压:

wget https://www.php.net/distributions/php-7.4.28.tar.gz
tar -zxvf php-7.4.28.tar.gz
cd php-7.4.28

接下来是关键步骤——配置编译参数。你可以指定安装路径(比如/usr/local/php74),并启用你需要的扩展:

./configure --prefix=/usr/local/php74 --enable-mbstring --with-mysql --with-pdo-mysql --with-openssl
make
sudo make install

最后,把PHP的可执行文件路径加到PATH环境变量中,方便全局调用:

echo 'export PATH=/usr/local/php74/bin:$PATH' >> ~/.bashrc
source ~/.bashrc

同样,用php -v确认安装成功。

多版本共存配置:服务端的实用技巧

在实际生产或开发环境中,我们经常需要在同一台服务器上同时运行多个PHP版本,比如Nginx或Apache需要同时处理两个不同版本的项目。这时候,就需要通过端口或套接字文件来隔离不同版本的PHP-FPM。

假设你通过Remi仓库安装了PHP 7.4和8.0的PHP-FPM:

sudo yum install php74-php-fpm php80-php-fpm

然后,修改每个版本的PHP-FPM配置,让它们监听不同的端口或套接字。比如,让PHP 7.4的监听端口改为9001:

sudo vim /etc/opt/remi/php74/php-fpm.d/www.conf
# 将 listen = 127.0.0.1:9000 改为 listen = 127.0.0.1:9001

接着,在Nginx的虚拟主机配置中,为需要PHP 7.4的项目指定fastcgi_pass指向这个端口:

location ~ \.php$ {
    fastcgi_pass 127.0.0.1:9001;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
}

最后,重启PHP-FPM和Nginx服务,配置就生效了。如果使用套接字模式,记得检查套接字文件的权限,确保Web服务能正常读写。

本文转载于:https://www.yisu.com/ask/11895619.html 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。

热门关注