Ubuntu 20.10环境下无法安装PHP intl扩展问题求助
问题根因
你使用的Ubuntu 20.10(开发代号Groovy Gorilla)属于已结束官方支持的非长期支持版本,对应版本的软件包已经从常规软件源服务器下线,所以不管是直接安装intl包,还是执行apt update刷新索引,都会触发404找不到资源的错误,和php.ini配置操作无关。
操作步骤
- 备份原有软件源配置
先执行命令备份默认源文件,避免配置出错无法回滚:sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak - 替换失效源为归档源
执行命令编辑源配置文件:sudo nano /etc/apt/sources.list
把文件内原有内容全部删除,替换为以下归档源配置:
按deb http://old-releases.ubuntu.com/ubuntu/ groovy main restricted universe multiverse deb http://old-releases.ubuntu.com/ubuntu/ groovy-updates main restricted universe multiverse deb http://old-releases.ubuntu.com/ubuntu/ groovy-security main restricted universe multiverse deb http://old-releases.ubuntu.com/ubuntu/ groovy-backports main restricted universe multiverseCtrl+O后按回车确认保存,再按Ctrl+X退出编辑器。
之前配置的sury第三方PHP源已经不支持20.10版本,找到/etc/apt/sources.list.d/目录下对应的sury源配置文件,把里面groovy相关的行全部注释或者直接删除,避免后续更新报错。 - 刷新软件包索引
执行命令更新源缓存:sudo apt update
执行完成后不会再出现找不到Release文件的404报错。 - 安装intl扩展
当前环境运行的是PHP7.4版本,直接执行对应安装命令:sudo apt install -y php7.4-intl - 验证扩展生效
安装完成后重启Apache服务:sudo systemctl restart apache2
执行php -m | grep intl,如果命令返回intl字样,就说明扩展已经正常加载,之前的PHP启动报错会自动消失。
长期建议
Ubuntu非LTS版本的官方支持周期只有9个月,20.10早在2021年7月就停止维护,后续不会推送任何安全补丁和功能更新,长期运行服务建议备份数据后升级到22.04、24.04这类支持周期5年的LTS版本,避免后续安装其他软件时反复遇到源失效问题。
内容的提问来源于stack exchange,提问作者Przemysław Niemiec
相关产品推荐
相关产品推荐

