You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

通过make安装PHP后如何切换版本?

解决Debian 10下PHP版本切换无效的问题

1. 定位当前php命令的实际路径

先确认系统调用的php到底指向哪个文件,执行:

which php

或

whereis php

如果输出是/usr/local/bin/php,说明源码编译的PHP安装在/usr/local/bin目录,该路径在系统PATH中的优先级大概率高于update-alternatives管理的/usr/bin/php,因此即使切换备选版本,系统仍会优先调用源码安装的PHP。

2. 将源码编译的PHP纳入update-alternatives管理

手动把源码安装的PHP和其他版本注册到备选系统中,假设源码PHP路径为/usr/local/bin/php,系统包安装的新版本PHP路径为/usr/bin/php8.1,执行:

sudo update-alternatives --install /usr/bin/php php /usr/local/bin/php 100
sudo update-alternatives --install /usr/bin/php php /usr/bin/php8.1 90

末尾数字为优先级,数值越高越优先。完成注册后执行切换:

sudo update-alternatives --config php

输入对应版本的编号后,再次执行php -version验证结果。

3. 调整PATH环境变量优先级

若不想依赖update-alternatives,可直接调整PATH顺序,让系统PHP所在的/usr/bin路径优先级高于/usr/local/bin:

  • 临时生效(仅当前shell会话):
export PATH=/usr/bin:$PATH
  • 永久生效:编辑~/.bashrc或/etc/profile文件,添加上述export命令,执行source ~/.bashrc或重新登录shell即可。

4. 验证切换结果

执行以下命令确认版本和路径是否匹配预期:

php -version
which php

额外注意事项

  • 源码编译新版本PHP时,建议通过./configure --prefix=/usr/local/phpX.X指定明确安装路径,方便后续管理。
  • 若CLI版本切换正常,但Web服务(如Nginx/Apache)的PHP版本未变化,需单独配置对应服务的PHP-FPM或模块路径。

内容的提问来源于stack exchange,提问作者Ben I

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 17:11:59