You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu 22.04下PHP8.1/8.2共存时安装intl模块遇依赖错误求助

解决PHP模块intl安装依赖冲突问题

问题原因

你的PHP 8.1是从deb.sury.org第三方源安装的版本(8.1.14-1+ubuntu18.04.1+deb.sury.org+1),但系统默认apt源提供的php8.1-intl依赖的是官方版本的php8.1-common(8.1.2-1ubuntu2.10),版本不匹配导致依赖冲突。同时服务器活跃PHP版本是8.2,优先需要针对8.2安装intl模块。

解决方案

方案1:安装PHP 8.2版本的intl模块(优先推荐,因为当前活跃版本是8.2)

  1. 更新apt源缓存:
    apt-get update
    
  2. 直接安装PHP 8.2的intl模块:
    apt-get install php8.2-intl
    
  3. 如果仍提示依赖问题,先升级PHP 8.2的基础包:
    apt-get upgrade php8.2-common
    
    再次执行安装命令即可。

方案2:为PHP 8.1安装匹配版本的intl模块(若需要兼容8.1的其他模块)

  1. 确认deb.sury.org源已正确配置:
    检查/etc/apt/sources.list.d/目录下是否存在类似sury-php.list的文件,内容应为:
    deb https://packages.sury.org/php/ bionic main
    
    若不存在,添加该源并导入密钥:
    apt-get install -y apt-transport-https lsb-release ca-certificates curl
    curl -sSLo /usr/share/keyrings/deb.sury.org-php.gpg https://packages.sury.org/php/apt.gpg
    echo "deb [signed-by=/usr/share/keyrings/deb.sury.org-php.gpg] https://packages.sury.org/php/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/sury-php.list
    
  2. 更新源缓存:
    apt-get update
    
  3. 安装PHP 8.1的intl模块:
    apt-get install php8.1-intl
    

方案3:修复系统损坏的依赖包

若以上方案仍报错,先处理系统的broken packages:

  1. 查看被锁定的包:
    dpkg --get-selections | grep hold
    
  2. 取消锁定的包(替换<package-name>为实际包名):
    apt-mark unhold <package-name>
    
  3. 自动修复依赖:
    apt-get -f install
    
  4. 再次尝试安装intl模块。

内容的提问来源于stack exchange,提问作者Randeep Singh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 23:45:23