我尝试使用 MacPorts 更新到最新版本的 PHP。打字后
sudo port install php
并安装所有必要的软件包,当我在终端中输入 php --version
时,我仍然得到:
PHP 7.3.29 (cli) (built: Aug 15 2021 23:10:16) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.29, Copyright (c) 1998-2018 Zend Technologies
为什么我的电脑上仍然有过时版本的 PHP 而不是 PHP 8?
php
端口是一个垫片,它仅安装
/opt/local/share/doc/php/README
文件并依赖于(当前)
php82
。单击https://ports.macports.org/port/php/details/ 上的 Files 链接之一即可查看。 在 shell 中键入
php --version
时运行的内容取决于符号链接
/opt/local/bin/php
,但该符号链接由port-select(1) 手册页中解释的端口选择机制管理:
端口选择提供了一种从不同端口中进行选择的机制 通用工具或端口的实现。选择其中一个选项 使其成为主要版本或实现,例如要运行的一个 默认情况下,当您没有明确选择版本或 在命令行上执行。就您而言,您之前可能使用过请注意,端口选择只是为了您作为用户的方便。确实如此 例如,不会影响 MacPorts 编译时使用的编译器 软件,或者端口构建的 MySQL 副本。如果有一个 用户可见的选择,它通常作为端口上的变体提供。 如果端口选择机制影响端口的构建方式,那么应该是 被认为是一个错误。
一个例子是 MySQL 和 MySQL 的分支集合,其中有 mysql51、mysql55、mysql56、mariadb、mariadb-10.0、mariadb-11.0、 Percona,可能还有其他。端口选择让您选择其中的一个 当您简单地运行 mysql 或其他命令时,这些将成为运行的版本 来自 MySQL 套件的命令。
sudo port select --set php php73
。要将 PHP 8.2 设置为默认版本,请运行
sudo port select --set php php82
。运行
port select --summary
查看当前选择的选项。
port select --list php
它将列出可用的 PHP 版本。例如,您可能会看到这样的内容:
Available versions for php:
none
php74 (active)
php81
php82
php83
要切换到不同版本,可以使用以下命令:
sudo port select --set php php81
这会将 PHP 8.1 设置为活动版本。希望这有帮助!