如何在 ubunut 22.04 上安装 php 模块 intl,并激活两个 php 版本 - php 8.1 和 php 8.2

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

我的 worpdress 网站健康页面显示可能的改进 - 缺少 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.