我尝试使用以下命令更改我的 PHP CLI 版本sudo update-alternatives --config php
:
There are 2 choices for the alternative php (providing /usr/bin/php).
Selection Path Priority Status
------------------------------------------------------------
0 /usr/bin/php8.1 81 auto mode
* 1 /usr/bin/php8.0.15 1 manual mode
2 /usr/bin/php8.1 81 manual mode
我将其设置为 0 并检查它update-alternatives --display php
:
php - auto mode
link best version is /usr/bin/php8.1
link currently points to /usr/bin/php8.1
link php is /usr/bin/php
slave php.1.gz is /usr/share/man/man1/php.1.gz
/usr/bin/php8.0.15 - priority 1
/usr/bin/php8.1 - priority 81
slave php.1.gz: /usr/share/man/man1/php8.1.1.gz
看起来它有效,但如果我检查它,php -v
我会得到:
PHP 8.0.15 (cli) (built: Jun 7 2022 10:21:21) ( NTS )
Copyright (c) The PHP Group
Zend Engine v4.0.15, Copyright (c) Zend Technologies
command -v php
输出/usr/local/bin/php
。
我正在使用 Ubuntu 22.04 LTS
你大概
/usr/local/bin
在/usr/bin
你的PATH
, 并且因为有一个php
二进制文件/usr/local/bin
,你的 shell 使用它。由 配置的php
替代方案update-alternatives
最终没有效果 - 至少,在任何基于PATH
.要解决此问题,在您的情况下,我建议删除
/usr/local
. 一个更简单的方法是重新排序你的PATH
,但这可能会影响你依赖的其他二进制文件/usr/local/bin
。