安装PHPRedis扩展需让PHP能调用Redis服务,推荐使用PECL安装(sudo pecl install redis),需先安装php-dev和编译工具,再在php.ini中添加extension=redis.so并重启PHP服务;也可手动编译(git clone后phpize && make && sudo make install)或用系统包管理器(如apt install php-redis);常见问题包括缺少开发包、版本不兼容、配置文件错误或未重启服务;验证可通过php -m、phpinfo()或代码连接测试;基础配置可设置会话锁、序列化方式及默认连接参数。

安装PHPRedis扩展,核心就是让你的PHP环境能“认识”并调用Redis的服务。这通常通过编译扩展模块,然后将其加载到PHP的运行时中来实现。具体方法有PECL安装、手动编译,或者直接使用系统包管理器,选择哪种取决于你的系统环境和对版本、灵活性的需求。
要让PHP和Redis“搭上线”,通常我会推荐优先考虑PECL,因为它在方便性和版本控制上做得不错。当然,也有其他方法,每种都有它的适用场景。
方法一:使用PECL进行安装(推荐,灵活且相对简单)
这是我个人最常用的方式,尤其当你需要特定版本的PHPRedis时。
立即学习“PHP免费学习笔记(深入)”;
准备工作: 在开始之前,确保你的系统已经安装了PHP的开发工具包。这玩意儿是编译PHP扩展的基石。
sudo apt update && sudo apt install php-dev build-essential
sudo yum install php-devel gcc make autoconf
安装PHPRedis扩展: 有了开发包,就可以用PECL命令来安装了。
sudo pecl install redis
sudo pecl install redis-x.y.z
x.y.z
配置PHP加载扩展: 安装完成后,PECL会告诉你
redis.so
php.ini
php.ini
php.ini
php --ini
php.ini
/etc/php/X.Y/fpm/php.ini
php-fpm.d/www.conf
php_admin_value
php.ini
extension=redis.so
重启PHP服务: 为了让PHP加载新的配置,你必须重启PHP-FPM服务(如果你用Nginx/Apache配合PHP-FPM)或者你的Web服务器(如果你用Apache的mod_php)。
sudo systemctl restart phpX.Y-fpm
php7.4-fpm
sudo systemctl restart php-fpm
sudo systemctl restart httpd
方法二:手动编译安装(当PECL遇到问题或需要最新开发版时)
有时候PECL可能会抽风,或者你需要GitHub上最新的开发版本。这时候手动编译就派上用场了。
下载源码: 访问PHPRedis的GitHub仓库(
https://github.com/phpredis/phpredis
git clone
git clone https://github.com/phpredis/phpredis.git
cd phpredis
git checkout
编译安装:
phpize
php-dev
php-devel
./configure
make
sudo make install
配置PHP加载扩展并重启服务: 这部分和PECL安装后的步骤一样,编辑
php.ini
extension=redis.so
方法三:使用系统包管理器安装(最省心,但版本可能不是最新)
这是最简单粗暴的方法,尤其适合那些对版本要求不那么高,追求稳定的生产环境。
sudo apt update
sudo apt install php-redis
php.ini
sudo yum install epel-release
sudo yum install php-pecl-redis
sudo yum install php-redis
在安装PHPRedis的过程中,我遇到过不少坑,有些是新手常犯的,有些则是环境配置导致的。提前了解这些,能帮你少走弯路。
首先,“phpize command not found” 或者编译过程中出现
configure: error: Cannot find php-config. Please check your PHP installation.
php-dev
php-devel
其次,“make”或“make install”时出现大量编译错误,比如
undefined reference to 'zend_hash_str_update'
gcc
make
build-essential
Development Tools
pecl search redis
再者,扩展安装了,但phpinfo()
php -m | grep redis
php.ini
php.ini
php.ini
php --ini
phpinfo()
extension=redis.so
[PHP]
extension_dir
php.ini
redis.so
最后,权限问题。在执行
make install
sudo make install
sudo
beta v1.1版本为第一个版本,简单的整合了基础功能,各位站长拿到程序后,不要纠结后台的功能简单,后续将不断更新扩展。在beta v1.1版本使用过程中遇到什么问题,请登录 www.loftto.com 进行反馈! 安装说明######重要提醒:程序不支持二级目录安装,请使用一级目录或二级目录绑定!#第一步,确定你的服务器支持PHP+mysql。#第二步,确定你的服务器开启了gd库。#第三步,
0
PHPRedis扩展安装完毕后,验证工作是必不可少的,这能确保你的努力没有白费。同时,一些基础配置能让它更好地工作。
验证PHPRedis是否成功加载:
命令行验证: 最快的方式是在命令行里检查。
php -m | grep redis
redis
Web服务器验证(phpinfo()
phpinfo()
info.php
<?php phpinfo(); ?>
将这个文件放到你的Web服务器根目录,通过浏览器访问它。在打开的页面中搜索“redis”。如果找到了一个“redis”的配置段,并且里面列出了各种Redis相关的配置项,那么恭喜你,Web环境下的PHPRedis也加载成功了。
简单代码测试: 这是最直观的验证方式,直接用PHP代码尝试连接Redis。
<?php
try {
$redis = new Redis();
$redis->connect('127.0.0.1', 6379); // 替换为你的Redis服务器地址和端口
$redis->set('test_key', 'Hello Redis from PHP!');
echo $redis->get('test_key');
$redis->close();
echo "\nPHPRedis扩展工作正常,并成功连接到Redis!\n";
} catch (RedisException $e) {
echo "PHPRedis连接失败或扩展未加载: " . $e->getMessage() . "\n";
}
?>运行这段代码,如果能看到
Hello Redis from PHP!
PHPRedis基础配置:
PHPRedis扩展提供了一些
php.ini
php.ini
extension=redis.so
redis.ini
redis.session.locking_enabled = 1
redis.session.lock_retries = -1
-1
redis.session.lock_wait_time = 10000
redis.session.serializer = igbinary
igbinary
igbinary
php
redis.session.prefix = "PHPREDIS_SESSION:"
redis.default_host = "127.0.0.1"
redis.default_port = 6379
配置完这些,别忘了再次重启你的PHP服务,让新的配置生效。
在安装PHPRedis扩展时,我们有PECL、手动编译和包管理器这三种主要方式。每种方式都有其独特的优缺点和适用场景,理解这些差异能帮助你做出更明智的选择。
1. PECL 安装(PHP Extension Community Library)
pecl install redis-x.y.z
pecl upgrade redis
php-dev
gcc
2. 手动编译安装
3. 包管理器安装(如 apt
yum
php.ini
总结一下:
我通常会先尝试PECL安装,因为它在便捷性和版本选择之间找到了一个很好的平衡点。如果PECL不给力,或者我需要一些前沿特性,才会考虑手动编译。而对于那些追求“一次安装,长期稳定”的生产环境,如果包管理器提供的版本足够用,那它无疑是最省心的选择。选择哪种方式,最终还是取决于你的具体需求、技术栈和对风险的承受能力。
以上就是PHP怎么安装Redis扩展_PHPRedis扩展安装方法的详细内容,更多请关注php中文网其它相关文章!
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号