如何在 PHP 8.1 和 PHP 8.2 都处于活动状态的 Ubunut 22.04 上安装 PHP 模块 intl

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

我的 WordPress 网站站点运行状况页面显示可能的改进 — PHP 模块 intl 丢失。

1

我的服务器有多个活跃的 PHP 版本(8.1 和 8.2)。

我使用以下 ssh 命令来安装缺少的 intl 模块:

apt-get install -y php-intl

但是我收到此错误消息:

以下软件包具有未满足的依赖关系:php8.1-intl:
取决于: php8.1-common (= 8.1.2-1ubuntu2.10) 但是 需要安装 8.1.14-1+ubuntu18.04.1+deb.sury.org+1 E: 无法纠正问题,您持有损坏的软件包。

我的服务器上活动的 PHP 模块(例如 imagick)是为 php8.1 安装的。但我的活跃 PHP 版本是 8.2.

2

php module intl
2个回答
1
投票

问题出在“php8.1-intl”包的依赖项上。具体来说,它需要“php8.1-common”包的版本8.1.2-1ubuntu2.10,但目前可用的版本是8.1.14-1+ubuntu18.04.1+deb.sury.org+1,即正在引发冲突。

尝试:

  1. sudo apt update

  2. sudo apt-get check

  3. sudo apt-get install -f

  4. sudo dpkg --configure -a

5.

sudo apt-get install php8.1-common=8.1.2-1ubuntu2.10

6.

sudo apt-get install php8.1-intl

您可能需要删除冲突的软件包并重新安装所需的软件包。但删除包时要小心,因为它可能会导致其他依赖项损坏。


0
投票

我的问题是服务器从 Ubuntu 20 升级到 22。我正在使用

PHP8.2
并且已经有一个正在运行的网络服务器。

当我使用

php-intl
安装
sudo apt install php-intl
时, 它为我提供了我不需要的
8.1
版本。

但是当我直接安装时

php8.2-intl
它在该存储库中不存在。

所以我添加了 PPA:

sudo add-apt-repository ppa:ondrej/php
sudo apt-get update

之后,我运行命令来安装

php-intl

sudo apt install php8.2-intl

它运行完美,安装的应用程序也是如此。

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