无法使用MacPorts更新最新版本的PHP

问题描述 投票:0回答:2

我尝试使用 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 terminal macports
2个回答
2
投票
MacPorts 中的

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
 查看当前选择的选项。


0
投票
我之前也遇到过同样的问题。要检查已安装的 PHP 版本,您可以运行以下命令:

port select --list php
它将列出可用的 PHP 版本。例如,您可能会看到这样的内容:

Available versions for php: none php74 (active) php81 php82 php83
要切换到不同版本,可以使用以下命令:

sudo port select --set php php81
这会将 PHP 8.1 设置为活动版本。希望这有帮助!

© www.soinside.com 2019 - 2024. All rights reserved.