PHP安装Redis扩展详细教程
时间:2026-02-16 14:32:33 367浏览 收藏
本文详细讲解了在不同环境下为PHP安装Redis扩展的完整流程,涵盖Windows下DLL手动配置、Linux/macOS中通过PECL自动编译安装,以及Docker容器化部署的最佳实践,强调版本匹配、线程安全与架构一致性等关键细节,并提供清晰的验证方法,帮助开发者快速、可靠地启用Redis缓存与会话功能,彻底解决因扩展缺失导致的“Class 'Redis' not found”等常见问题。

如果您希望在PHP环境中使用Redis进行数据缓存或会话管理,但PHP未启用Redis扩展,则无法调用Redis类或执行相关操作。以下是完成PHP Redis扩展安装与配置的具体步骤:
一、确认PHP版本及环境架构
安装扩展前需准确获取当前PHP的版本号、线程安全(TS/NTS)状态以及系统架构(x86/x64),否则下载的扩展文件将不兼容,导致PHP启动失败或扩展无法加载。
1、在命令行中执行 php -v 查看PHP主版本(如 8.1.23)。
2、执行 php -i | findstr "Thread Safety"(Windows)或 php -i | grep "Thread Safety"(Linux/macOS),确认输出为 enabled(TS)或 disabled(NTS)。
3、执行 php -i | findstr "Architecture" 或 php -i | grep "Architecture",确定是 x86 还是 x64。
二、下载并安装Redis扩展DLL(Windows)
Windows环境下需手动下载与PHP匹配的redis.dll文件,并注册到php.ini中,该扩展由PECL提供预编译二进制包。
1、访问 https://windows.php.net/downloads/pecl/releases/redis/,选择与PHP版本、TS/NTS、架构完全一致的最新稳定版ZIP包(如 redis-5.3.7-8.1-ts-vs16-x64.zip)。
2、解压ZIP文件,提取其中的 php_redis.dll 文件。
3、将该DLL复制到PHP的 ext 目录下(例如 C:\php\ext\)。
4、编辑 php.ini,在扩展列表区域添加一行:extension=php_redis.dll。
三、通过PECL命令行安装(Linux/macOS)
Linux或macOS系统可利用PECL工具自动下载、编译并安装Redis扩展,前提是已安装PHP开发头文件(php-dev 或 php-devel)及编译工具链。
1、执行 sudo apt-get install php-dev php-pear build-essential(Ubuntu/Debian)或 sudo yum install php-devel php-pear gcc make(CentOS/RHEL)。
2、运行 sudo pecl install redis,等待编译完成并提示“Build process completed successfully”。
3、编辑 php.ini,添加 extension=redis.so。
4、重启Web服务器(如 sudo systemctl restart apache2 或 sudo systemctl restart php-fpm)。
四、使用Docker快速启用Redis扩展
Docker可通过自定义PHP镜像,在构建阶段直接集成Redis扩展,避免宿主机环境差异带来的兼容问题,适合容器化部署场景。
1、创建 Dockerfile,内容以官方PHP镜像为基础:
FROM php:8.1-apache
RUN apt-get update && apt-get install -y zlib1g-dev libzip-dev \
&& docker-php-source extract \
&& pecl install redis \
&& docker-php-ext-enable redis
2、执行 docker build -t my-php-redis . 构建镜像。
3、运行容器:docker run -d -p 8080:80 my-php-redis。
五、验证Redis扩展是否生效
扩展安装完成后,必须通过代码或命令行确认扩展已被PHP识别并可实例化客户端,否则后续调用将抛出类未定义错误。
1、创建测试文件 test_redis.php,内容为:
2、在浏览器或CLI中执行该文件,输出应为 bool(true)。
3、进一步测试客户端初始化:,结果应为 bool(true)。
好了,本文到此结束,带大家了解了《PHP安装Redis扩展详细教程》,希望本文对你有所帮助!关注golang学习网公众号,给大家分享更多文章知识!
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
489 收藏
-
251 收藏
-
333 收藏
-
302 收藏
-
462 收藏
-
285 收藏
-
442 收藏
-
433 收藏
-
470 收藏
-
295 收藏
-
157 收藏
-
495 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 543次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 516次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 500次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 485次学习