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

Amazon Linux环境下PHP 8.x无法安装PHP Redis模块求助

问题:Amazon Linux 2 + PHP 8.0 安装PHP Redis模块失败

问题背景

在Amazon Linux 2系统部署应用时,安装PHP Redis模块环节失败,系统已安装PHP 8.0(来自amzn2extra-php8.0源)。

报错信息

---> Package php-pecl-redis.x86_64 0:2.2.8-1.el7 will be installed
--> Processing Dependency: php(api) = 20100412-64 for package: php-pecl-redis-2.2.8-1.el7.x86_64
--> Processing Dependency: php(zend-abi) = 20100525-64 for package: php-pecl-redis-2.2.8-1.el7.x86_64
--> Finished Dependency Resolution
Error: Package: php-pecl-redis-2.2.8-1.el7.x86_64 (epel)
           Requires: php(zend-abi) = 20100525-64
           Installed: php-common-8.0.27-1.amzn2.x86_64 (@amzn2extra-php8.0)
               php(zend-abi) = 20200930-64
           Available: php-common-5.4.16-43.amzn2.x86_64 (amzn2-core)
               php(zend-abi) = 20100525-64
           Available: php-common-5.4.16-43.amzn2.0.1.x86_64 (amzn2-core)
               php(zend-abi) = 20100525-64
           ..

当前可用包情况

执行yum update后,查询到的PHP Redis包仅为EPEL源的旧版本:

yum list | grep "php\-pecl\-redis*"

php-pecl-redis.x86_64                   2.2.8-1.el7                   epel 

问题原因

EPEL源提供的php-pecl-redis-2.2.8-1.el7是为PHP 5.4编译的(依赖php(zend-abi)=20100525-64),而当前系统的PHP 8.0使用的是zend-abi=20200930-64,ABI版本不兼容,导致依赖校验失败。

解决方案

方法1:通过PECL编译安装适配PHP 8.0的Redis模块

  1. 安装编译依赖和Redis服务:
sudo yum install -y php8.0-devel gcc make redis
  1. 使用PECL安装Redis扩展:
sudo pecl install redis
  1. 启用Redis扩展:
    • 创建扩展配置文件:
    echo "extension=redis.so" | sudo tee /etc/php.d/40-redis.ini
    
  2. 重启PHP服务(根据实际环境选择):
    • 若使用PHP-FPM:
    sudo systemctl restart php-fpm
    
    • 若使用Apache:
    sudo systemctl restart httpd
    
  3. 验证安装:
php -m | grep redis

若输出redis则安装成功。

方法2:使用对应PHP版本的第三方源(可选)

部分第三方源(如Remi)提供适配PHP 8.0的预编译Redis包,但需额外配置源,新手更推荐方法1以避免源配置混乱。


内容的提问来源于stack exchange,提问作者Rob Wilkinson

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 01:22:11