PHP 如何切换 PHP 版本

平时做网站开发或者搭本地测试环境,总能碰到 PHP 版本不兼容的问题——比如老项目要跑在 PHP 5.6,新功能却得用 PHP 7.4 以上的特性,总不能每次重装环境吧?其实不用折腾卸载重装,学会切换 PHP 版本就能轻松解决,下面就用最生活化的例子,讲三种最常用的切换方法,新手也能一看就会。

最适合新手的集成面板切换:不用记命令,点几下就搞定

如果你用的是 Wamp、XAMPP、MAMP 这类集成环境,相当于已经把 PHP、MySQL 这些工具打包成了“一键工具箱”,切换版本完全不用复杂操作。比如你装的 Wamp 同时带了 PHP 5.6 和 PHP 7.4,想换版本时,直接在电脑右下角找到 Wamp 的小图标,右键点“PHP”,就能看到所有已安装的 PHP 版本列表,点一下要切换的版本,面板会自动重启服务,10 秒就能完成。

PHP 如何切换 PHP 版本

举个例子:就像你平时用保温杯,保温杯是集成环境,5.6 是带保温功能的旧杯子,7.4 是带温度显示的新杯子,不用把保温杯扔了换,直接把里面的杯子换出来就行,不用自己洗杯子、擦保温杯,完全没技术门槛。

本地开发工具切换:精准控制项目用的版本

如果不用集成面板,而是用 VS Code、PhpStorm 这类代码编辑器,或者电脑里装了多套 PHP 环境,就可以用命令行切换,更适合有一点基础的开发者。Windows 上常用的是 WSL(Linux 子系统)或者 Git Bash,Mac/Linux 直接用终端。

先确认自己装了哪些 PHP 版本,输入 php -v 会显示当前版本,输入 ls /usr/local/Cellar/php(Mac 用 Homebrew 装的话)就能看到所有已装版本。想切换的话,比如要从 7.4 切到 8.1,Mac 上输入 brew link --overwrite php@8.1,系统就会把默认的 PHP 指向 8.1;Linux 可以用 update-alternatives 命令,Windows WSL 用 update-alternatives 也能实现,改完再输 php -v 就能确认版本。

这就像你书桌放了两个水杯,一个装温水(PHP 7.4),一个装开水(PHP 8.1),想喝什么就拿哪个,不用换整个书桌,只是切换自己要用的那个水杯。

服务器端切换:让线上网站跑对应版本

如果是自己租的服务器(比如阿里云、腾讯云),或者公司的服务器,切换 PHP 版本会影响所有放在上面的网站,操作要稍微注意,别碰错配置。大部分服务器用 Nginx 或 Apache 当 Web 服务器,切换逻辑类似:先安装好对应版本的 PHP-FPM(相当于 PHP 的“运行服务”),然后修改服务器的站点配置文件,把指向旧 PHP 版本的路径,改成新安装的 PHP-FPM 路径,最后重启 Nginx/Apache 就生效。

比如你服务器上有两个网站,A 站要跑 PHP 5.6,B 站要用 PHP 8.1,切换时要分开改各自的配置,别改混。就像你家客厅和卧室各装了一个热水器,客厅热水器调 40℃,卧室调 50℃,想换客厅温度就调客厅的热水器,不会影响卧室的,这样更安全。

切换后别忘查问题

不管用哪种方法切换,完成后一定要测一下:本地的话,在项目里建个 info.php 文件,输入 <?php phpinfo(); ?>,打开浏览器访问这个文件,就能看到当前 PHP 版本;服务器的话,在站点根目录建这个文件,用域名访问就行。要是出问题,比如网页 502 错误,大概率是配置文件里的 PHP 路径写错了,改回对应版本的路径就好。

其实切换 PHP 版本的核心,就是给不同的项目或场景分配对应的“运行环境”,不用重装,也不用乱删文件,选适合自己的方法,就能轻松搞定版本适配的问题。

上一篇 JavaScript 如何跳出循环