PHP安装Redis扩展需先确认PHP版本和SAPI类型,Linux用pecl安装需php-dev/devel支持并匹配php.ini路径,Windows须下载对应TS/NTS/x64/x86的DLL;装后需验证扩展加载及Redis服务连通性。

PHP 安装 redis 扩展前先确认 PHP 版本和 SAPI 类型
直接 pecl install redis 很可能失败,因为扩展版本必须匹配 PHP 大版本(如 8.1 / 8.2 / 8.3)和编译类型(cli 和 fpm 通常需分别处理)。用以下命令查清底细:
php -v php -i | grep "PHP Extension" php-config --extension-dir php --ini
特别注意 Loaded Configuration File 路径——这是你要改的 php.ini,不是系统默认路径下的那个。
Linux 下用 pecl 安装 redis 扩展(推荐方式)
确保已安装 php-dev(Ubuntu/Debian)或 php-devel(CentOS/RHEL),否则编译会报 phpize not found 或 fatal error: php.h: No such file:
-
sudo apt install php-dev(Ubuntu 22.04+ 默认对应系统 PHP 版本) -
sudo pecl install redis(自动编译并输出redis.so路径) - 在对应
php.ini末尾添加:extension=redis.so - 重启服务:
sudo systemctl restart php8.2-fpm(Ubuntu)或sudo systemctl restart httpd(CentOS)
如果提示 unable to mktemp,是临时目录权限问题,加 sudo pecl install -d temp_dir=/tmp redis。
立即学习“PHP免费学习笔记(深入)”;
Windows 下启用 redis 扩展只需三步
PHP for Windows 官方包不带 redis.dll,不能靠 pecl;必须手动下载匹配的 DLL:
- 去 PECL Redis Windows builds 页面,选与你 PHP 版本、线程安全(TS/NTS)、架构(x64/x86)完全一致的 ZIP 包
-
解压出
php_redis.dll,放进ext/目录(如C:\php\ext\) - 在
php.ini中取消注释或新增:extension=php_redis.dll
常见错误:PHP Startup: Unable to load dynamic library 'php_redis.dll',90% 是 DLL 版本不匹配,尤其是 PHP 8.2+ 必须用 redis-5.3.7+,旧版 DLL 会直接拒绝加载。
验证 redis 扩存是否生效 + 简单连接测试
扩展装完不等于能用。先运行 php -m | grep redis 看是否列出;再写个最小测试脚本确认连接逻辑:
connect('127.0.0.1', 6379, 2); // 第三个参数是超时秒数,别设 0
$r->set('test_key', 'ok_' . time());
echo $r->get('test_key') . "\n";
} catch (RedisException $e) {
echo "Redis error: " . $e->getMessage() . "\n";
}
如果报 Connection refused,说明 Redis 服务根本没起来,不是 PHP 的问题;phpinfo() 页面里出现 redis 模块标题栏,才代表扩展加载成功。实际项目中,connect() 建议始终加超时和异常捕获,否则阻塞请求。











