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 相关文章推荐
ftp类(myftp.php)
Oct 09 PHP
php session 检测和注销
Mar 16 PHP
PHP中的生成XML文件的4种方法分享
Oct 06 PHP
php存储过程调用实例代码
Feb 03 PHP
PHP中file_exists函数不支持中文名的解决方法
Jul 26 PHP
PHP定时任务延缓执行的实现
Oct 08 PHP
php简单获取文件扩展名的方法
Mar 24 PHP
php中动态变量用法实例
Jun 10 PHP
编写PHP程序检查字符串中的中文字符个数的实例分享
Mar 17 PHP
实现PHP搜索加分页
Oct 12 PHP
php使用curl获取header检测开启GZip压缩的方法
Aug 15 PHP
PHP常量及变量区别原理详解
Aug 14 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 n个不重复的随机数生成代码
2009/06/23 PHP
php二分查找二种实现示例
2014/03/12 PHP
WIN8.1下搭建PHP5.6环境
2015/04/29 PHP
PHP带节点操作的无限分类实现方法详解
2016/11/09 PHP
thinkphp5框架扩展redis类方法示例
2019/05/06 PHP
Extjs ajax同步请求时post方式参数发送方式
2009/08/05 Javascript
关于javascript中的parseInt使用技巧
2009/09/03 Javascript
Dojo 学习笔记入门篇 First Dojo Example
2009/11/15 Javascript
javascript的propertyIsEnumerable()方法使用介绍
2014/04/09 Javascript
JavaScript中最简洁的编码html字符串的方法
2014/10/11 Javascript
Jquery实现地铁线路指示灯提示牌效果的方法
2015/03/02 Javascript
详解jQuery的Cookie插件
2016/11/23 Javascript
手机移动端实现 jquery和HTML5 Canvas的幸运大奖盘特效
2016/12/06 Javascript
浅析JavaScript的几种Math函数,random(),ceil(),round(),floor()
2016/12/22 Javascript
浅谈JS验证表单文本域输入空格的问题
2017/02/14 Javascript
jQuery中的deferred对象和extend方法详解
2017/05/08 jQuery
原生js实现密码输入框值的显示隐藏
2017/07/17 Javascript
vue中v-for加载本地静态图片方法
2018/03/03 Javascript
JQuery事件委托原理与用法实例分析
2019/05/13 jQuery
浅谈vuex中store的命名空间
2019/11/08 Javascript
JS实现多功能计算器
2020/10/28 Javascript
python中函数传参详解
2016/07/03 Python
Django REST为文件属性输出完整URL的方法
2017/12/18 Python
使用PIL(Python-Imaging)反转图像的颜色方法
2019/01/24 Python
Pandas读取并修改excel的示例代码
2019/02/17 Python
python 实现围棋游戏(纯tkinter gui)
2020/11/13 Python
20世纪40年代连衣裙和复古服装:The Seamstress Of Bloomsbury
2018/07/24 全球购物
美国一家著名的手表在线折扣网站:Discount Watch Store
2020/02/24 全球购物
关于母亲节的感言
2014/02/04 职场文书
《北京的春节》教学反思
2014/04/07 职场文书
2015圣诞节贺卡寄语
2015/03/24 职场文书
环保守法证明
2015/06/24 职场文书
药房管理制度范本
2015/08/06 职场文书
2015新员工工作总结范文
2015/10/15 职场文书
2016教师校本研修心得体会
2016/01/08 职场文书
Python中 range | np.arange | np.linspace三者的区别
2022/03/22 Python