如何通过phpEnv升级PHP版本?
- 内容介绍
- 文章标签
- 相关推荐
本文共计756个文字,预计阅读时间需要4分钟。
直接说结论:
phpenv install 装完新版本后 php -v 还是旧的?
这是最常见错觉——你以为装了就自动切了,其实没切。phpenv install 只是把新版本二进制丢进 ~/.phpenv/versions/8.3.13 目录,不会动当前激活状态。
- 必须显式执行切换命令,比如
phpenv global 8.3.13(全局)或phpenv local 8.3.13(当前项目) - 执行后立刻验证:
php -v和which php——后者必须指向~/.phpenv/shims/php,而不是/usr/bin/php或其他路径 - 如果
which php没变,大概率是 shell 的 PATH 里有别的 PHP 路径排在~/.phpenv/shims前面,检查echo $PATH输出顺序 - 偶尔 shim 缓存未更新,补一句
phpenv rehash再试
切换后 Web 服务(Apache/Nginx)PHP 版本没变?
phpenv 管的是 CLI 环境,对 Web SAPI(如 mod_php、php-fpm)完全无感。Web 服务器用的 PHP 是独立进程,和 phpenv 无关。
本文共计756个文字,预计阅读时间需要4分钟。
直接说结论:
phpenv install 装完新版本后 php -v 还是旧的?
这是最常见错觉——你以为装了就自动切了,其实没切。phpenv install 只是把新版本二进制丢进 ~/.phpenv/versions/8.3.13 目录,不会动当前激活状态。
- 必须显式执行切换命令,比如
phpenv global 8.3.13(全局)或phpenv local 8.3.13(当前项目) - 执行后立刻验证:
php -v和which php——后者必须指向~/.phpenv/shims/php,而不是/usr/bin/php或其他路径 - 如果
which php没变,大概率是 shell 的 PATH 里有别的 PHP 路径排在~/.phpenv/shims前面,检查echo $PATH输出顺序 - 偶尔 shim 缓存未更新,补一句
phpenv rehash再试
切换后 Web 服务(Apache/Nginx)PHP 版本没变?
phpenv 管的是 CLI 环境,对 Web SAPI(如 mod_php、php-fpm)完全无感。Web 服务器用的 PHP 是独立进程,和 phpenv 无关。

