我尝试使用以下命令更改 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
答案1
您可能已经在您的 中/usr/local/bin
提前了,并且由于 中 有一个二进制文件,因此您的 shell 使用它。配置的替代方案最终没有任何效果——至少对基于该的任何东西都是没有效果的。/usr/bin
PATH
php
/usr/local/bin
php
update-alternatives
PATH
要解决此问题,对于您的情况,我建议删除/usr/local
.一种更简单的方法是重新排序您的PATH
,但这可能会影响您依赖于 的其他二进制文件/usr/local/bin
。