Linux下编译redis和phpredis的方法


Posted in PHP onApril 07, 2016

本文讲述了Linux下编译redis和phpredis的方法。分享给大家供大家参考,具体如下:

1、准备工作

下载软件:本站下载地址。
操作系统:CentOS 5.5
redis 版本:redis-2.6.9

2、编译安装

tar zxvf redis-2.6.9.tar.gz //解压 
cd redis-2.6.9 
make  //编译

如果出现如下错误:

zmalloc.o: In function `zmalloc_used_memory':
/data/redis-2.6.9/src/zmalloc.c:223: undefined reference to `__sync_add_and_fetch_4'
collect2: ld returned 1 exit status
make[1]: *** [redis-server] Error 1
make[1]: Leaving directory `/data/redis-2.6.9/src'
make: *** [all] Error 2

解决方法:

make CFLAGS="-march=i686"

当看见“Hint: To run 'make test' is a good idea ;)” 说明编译成功。

make install  //安装

说明:其实 make install 就是:

cp -p redis-server /usr/local/bin
cp -p redis-benchmark /usr/local/bin
cp -p redis-cli /usr/local/bin
cp -p redis-check-dump /usr/local/bin
cp -p redis-check-aof /usr/local/bin

这样,redis 就安装成功了。

接下来就是启动Redis了, 上面编译后生成的那些可执行文件拷贝到了/usr/local/bin目录下面, 他们的作用分别是:

redis-server:Redis服务器的daemon启动程序
redis-cli:Redis命令行操作工具。当然,你也可以用 telnet 根据其纯文本协议来操作
redis-benchmark:Redis性能测试工具,测试Redis在你的系统及你的配置下的读写性能

启动 Redis 进程只需要执行这个 /usr/local/bin/redis-server /path-to/redis.conf

启动的时候后面要跟上 redis 的配置文件, 这样Redis就顺利启动了.

3、启动 redis 会出现的问题

Warning: 32 bit instance detected but no memory limit set. Setting 3 GB maxmemory limit with 'noeviction' policy now.

解决方法:修改配置文件 redis.conf  将 maxmemory 设置为 maxmemory 1024000000 #分配256M内存

WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.

解决方法:警告:过量使用内存设置为0!在低内存环境下,后台保存可能失败。为了修正这个问题,请在/etc/sysctl.conf 添加一项 'vm.overcommit_memory = 1' ,然后重启(或者运行命令'sysctl vm.overcommit_memory=1' )使其生效。

当启动的时候没有任何信息,表明启动成功。也可以使用 "netstat -tnl" 查看6379端口是否启动。

4、开启和关闭 redis

redis-server /usr/local/redis-2.6.9/redis.conf 开启,注:需要指定 redis 的配置文件

pkill redis-server 停止 redis
redis-cli shutdown 停止 redis

5、redis.conf 的参数信息

关于redis及其参数信息可参考本站《Redis基本知识、安装、部署、配置笔记》

6、编译 phpredis

unzip phpredis-master.zip
cd phpredis-master
/usr/local/php/bin/phpize
./configure ?with-php-config=/usr/local/php/bin/php-config
make && make install

修改 php.ini 文件。加载 redis.so 模块,重启 Apache !

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
杏林同学录(六)
Oct 09 PHP
PHP中调用ASP.NET的WebService的代码
Apr 22 PHP
PHP文件操作实现代码分享
Sep 01 PHP
简单的PHP缓存设计实现代码
Sep 30 PHP
深入PHP autoload机制的详解
Jun 09 PHP
memcache一致性hash的php实现方法
Mar 05 PHP
php专用数组排序类ArraySortUtil用法实例
Apr 03 PHP
试用php中oci8扩展
Jun 18 PHP
PHP Cookei记录用户历史浏览信息的代码
Feb 03 PHP
php使用变量动态创建类的对象用法示例
Feb 06 PHP
PHP如何使用JWT做Api接口身份认证的实现
Feb 03 PHP
PHP并发场景的三种解决方案代码实例
Feb 27 PHP
php 实现进制相互转换
Apr 07 #PHP
Linux(CentOS)下PHP扩展PDO编译安装的方法
Apr 07 #PHP
php制作简单模版引擎
Apr 07 #PHP
thinkphp框架下实现登录、注册、找回密码功能
Apr 06 #PHP
非常有用的9个PHP代码片段
Apr 06 #PHP
10个对初学者非常有用的PHP技巧
Apr 06 #PHP
yii2.0实现pathinfo的形式访问的配置方法
Apr 06 #PHP
You might like
php实现的仿阿里巴巴实现同类产品翻页
2009/12/11 PHP
使用php计算排列组合的方法
2013/11/13 PHP
PHP开发框架kohana3 自定义路由设置示例
2014/07/14 PHP
宝塔面板在NGINX环境中TP5.1如何运行?
2021/03/09 PHP
js中关于String对象的replace使用详解
2011/05/24 Javascript
JavaScript中的私有/静态属性介绍
2012/07/26 Javascript
jQuery jcrop插件截图使用方法
2013/11/20 Javascript
cocos2dx骨骼动画Armature源码剖析(三)
2015/09/08 Javascript
javascript实现3D切换焦点图
2015/10/16 Javascript
jQuery animate和CSS3相结合实现缓动追逐效果附源码下载
2016/04/18 Javascript
jQuery中队列queue()函数的实例教程
2016/05/03 Javascript
bootstrap提示标签、提示框实现代码
2016/12/28 Javascript
vue项目国际化vue-i18n的安装使用教程
2018/03/14 Javascript
JS操作json对象key、value的常用方法分析
2019/10/29 Javascript
vue3.0 项目搭建和使用流程
2021/03/04 Vue.js
[01:10]DOTA2次级职业联赛 - U5战队宣传片
2014/12/01 DOTA
在漏洞利用Python代码真的很爽
2007/08/26 Python
使用Python下载Bing图片(代码)
2013/11/07 Python
Python中的异常处理简明介绍
2015/04/13 Python
python中list常用操作实例详解
2015/06/03 Python
Python遍历文件夹和读写文件的实现方法
2017/05/10 Python
python实现周期方波信号频谱图
2018/07/21 Python
Python3 获取一大段文本之间两个关键字之间的内容方法
2018/10/11 Python
对numpy下的轴交换transpose和swapaxes的示例解读
2019/06/26 Python
python、Matlab求定积分的实现
2019/11/20 Python
详解python 降级到3.6终极解决方案
2020/02/06 Python
Python Selenium破解滑块验证码最新版(GEETEST95%以上通过率)
2021/01/29 Python
实习老师离校感言
2014/02/03 职场文书
2014教师党员自我评议总结
2014/09/19 职场文书
教师自查自纠材料
2014/10/14 职场文书
2015年信息宣传工作总结
2015/05/26 职场文书
穆斯林的葬礼读书笔记
2015/06/26 职场文书
员工工作失职检讨书范文!
2019/07/03 职场文书
导游词之镇江焦山
2019/11/21 职场文书
Mysql外键约束的创建与删除的使用
2022/03/03 MySQL
Win11怎么添加用户?Win11添加用户账户的方法
2022/07/15 数码科技