
在现代PHP开发中,Redis作为高性能的键值存储系统,常被用于缓存、会话管理、消息队列等场景。为了让PHP应用能够与Redis服务器进行交互,必须安装并启用PHP的Redis扩展(通常是php-redis或ext-redis)。当此扩展缺失时,Composer等依赖管理工具可能会报错,提示Root composer.json requires PHP extension ext-redis * but it is missing from your system. Install or enable PHP's redis extension. 这意味着您的PHP环境未能提供所需的Redis客户端功能。本教程将提供一套完整的安装和配置流程,帮助您解决此类问题。
在安装PHP Redis扩展之前,您需要确保系统上已经安装并运行了Redis服务器。PHP扩展将通过网络协议连接到这个服务器。
以下是在类Unix系统(如macOS或Linux)上编译安装Redis服务器的步骤:
# 1. 创建并进入一个临时目录用于下载和编译 mkdir redis_install_temp && cd redis_install_temp # 2. 下载 Redis 稳定版源码包 # 注意:此URL可能随Redis版本更新而变化,建议访问redis.io获取最新稳定版链接 curl -O http://download.redis.io/redis-stable.tar.gz # 3. 解压源码包 tar xzvf redis-stable.tar.gz # 4. 进入解压后的目录 cd redis-stable # 5. 编译 Redis # make 命令会编译 Redis 服务器及其客户端工具 make # 6. 运行测试(可选,但推荐) # make test 会运行 Redis 的单元测试,确保编译结果的稳定性 make test # 7. 安装 Redis 到系统路径 # sudo make install 会将 Redis 可执行文件(如 redis-server, redis-cli)安装到 /usr/local/bin sudo make install
安装完成后,您可以通过运行redis-server命令来启动Redis服务器。为了生产环境的稳定性,通常会配置Redis作为系统服务启动。
立即学习“PHP免费学习笔记(深入)”;
安装完Redis服务器后,接下来是安装PHP Redis扩展。根据您的操作系统和PHP环境,有几种常见的方法。
PECL (PHP Extension Community Library) 是PHP官方的扩展库,通过pecl命令可以方便地安装PHP扩展。
确保已安装 php-dev 或 php-devel 包: 在Debian/Ubuntu上:sudo apt-get install php-dev 在CentOS/RHEL上:sudo yum install php-devel 在macOS上,通常随PHP安装。
使用 pecl 命令安装 Redis 扩展:
sudo pecl install redis
在安装过程中,可能会询问关于php_igbinary和php_msgpack的选项。通常可以直接按回车选择默认值。
如果PECL安装遇到问题,或者您需要特定版本的扩展,可以手动从源码编译安装。
下载 PHP Redis 扩展源码: 访问 https://pecl.php.net/package/redis,下载对应PHP版本的Redis扩展源码包(例如 redis-5.3.7.tgz)。
解压并进入目录:
tar xzvf redis-X.X.X.tgz cd redis-X.X.X
准备编译环境:
phpize # 生成 configure 脚本 ./configure # 配置编译选项
编译并安装:
make sudo make install
成功后,您会看到类似 Installing shared extensions: /usr/lib/php/20190902/ 的输出,这指示了扩展的安装路径。
对于WAMP、XAMPP等Windows集成环境,通常可以直接下载预编译的 .dll 文件。
下载对应 PHP 版本的 .dll 文件: 访问 https://pecl.php.net/package/redis。 选择与您的PHP版本、架构(x86/x64)和线程安全(TS/NTS)相匹配的 .dll 文件。例如,对于PHP 7.4 NTS x64,您需要找到 php_redis-X.X.X-7.4-nts-vc15-x64.zip。
解压 .dll 文件: 将下载的压缩包解压,找到 php_redis.dll 文件。
放置 .dll 文件: 将 php_redis.dll 复制到您的PHP安装目录下的 ext 文件夹中(例如 C:\wamp64\bin\php\php7.4.X\ext)。
无论是通过PECL、手动编译还是下载DLL,最后一步都是在 php.ini 文件中启用该扩展。
定位 php.ini 文件: php.ini 文件是PHP的配置文件。您可以通过运行 php --ini 命令来查找其位置:
php --ini
输出会显示加载的 php.ini 文件路径,例如 /etc/php/7.4/cli/php.ini 和 /etc/php/7.4/apache2/php.ini。请确保修改的是您的Web服务器(如Apache或Nginx)或PHP-FPM使用的 php.ini 文件。在WAMP或MAMP中,通常可以通过其控制面板访问。例如,MAMP的错误信息中提到 /Library/Application Support/appsolute/MAMP PRO/conf/php8.1.13.ini。
编辑 php.ini 文件: 使用文本编辑器打开找到的 php.ini 文件,并在文件末尾或 Dynamic Extensions 部分添加以下行:
extension=redis.so
extension=redis.dll
如果您之前也安装了 igbinary 或 msgpack 扩展,也需要相应地启用它们:
extension=igbinary.so extension=msgpack.so
重启 Web 服务器/PHP 服务: 修改 php.ini 后,必须重启您的Web服务器(如Apache、Nginx)或PHP-FPM服务,以使更改生效。
安装并启用扩展后,务必验证其是否已成功加载。
通过命令行验证: 运行以下命令:
php -m | grep redis
如果输出中包含 redis,则表示扩展已成功加载到CLI环境中。
通过 phpinfo() 验证: 创建一个名为 info.php 的文件,内容如下:
<?php phpinfo(); ?>
将此文件放置在您的Web服务器根目录,并通过浏览器访问(例如 http://localhost/info.php)。在输出页面中搜索 "redis"。如果找到一个 "redis" 部分,其中包含版本信息和配置详情,则表示扩展已成功加载到Web服务器环境中。
通过遵循本教程的步骤,您应该能够成功安装并启用PHP Redis扩展,从而解决PHP应用中因缺少该扩展而导致的各种问题。
以上就是PHP Redis 扩展安装指南的详细内容,更多请关注php中文网其它相关文章!
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号