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 相关文章推荐
对javascript和select部件的结合运用
Oct 09 PHP
手把手教你使用DedeCms V3的在线采集图文教程
Apr 03 PHP
php ss7.5的数据调用 (笔记)
Mar 08 PHP
PHP操作XML作为数据库的类
Dec 19 PHP
PHP和JAVA中的重载(overload)和覆盖(override) 介绍
Mar 01 PHP
PHP字符串的递增和递减示例介绍
Feb 11 PHP
php使用curl和正则表达式抓取网页数据示例
Apr 13 PHP
Thinkphp多文件上传实现方法
Oct 31 PHP
php实现redis数据库指定库号迁移的方法
Jan 14 PHP
php实现的xml操作类
Jan 15 PHP
Thinkphp5.0框架使用模型Model的获取器、修改器、软删除数据操作示例
Oct 11 PHP
PHP实现常用排序算法的方法
Feb 05 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中call_user_func_array()函数的用法演示
2012/02/05 PHP
php中FTP函数ftp_connect、ftp_login与ftp_chmod用法
2014/11/18 PHP
php使用自定义函数实现汉字分割替换功能示例
2017/01/30 PHP
自制PHP框架之设计模式
2017/05/07 PHP
PHP使用两个栈实现队列功能的方法
2018/01/15 PHP
php中curl和soap方式请求服务超时问题的解决
2018/06/11 PHP
JS 各种网页尺寸判断实例方法
2013/04/18 Javascript
jquery实现metro效果示例代码
2013/09/06 Javascript
JavaScript获取当前日期是星期几的方法
2015/04/06 Javascript
JS Array.slice 截取数组的实现方法
2016/01/02 Javascript
jQuery实现滚动鼠标放大缩小图片的方法(附demo源码下载)
2016/03/05 Javascript
Jquery Easyui表单组件Form使用详解(30)
2016/12/19 Javascript
Chrome浏览器的alert弹窗禁止再次弹出后恢复的方法
2016/12/30 Javascript
微信小程序用户自定义模版用法实例分析
2017/11/28 Javascript
js中split()方法得到的数组长度问题
2018/07/19 Javascript
javascript实现导航栏分页效果
2019/06/27 Javascript
[00:18]天涯墨客三技能展示
2018/08/25 DOTA
Python3.0与2.X版本的区别实例分析
2014/08/25 Python
在Python中用get()方法获取字典键值的教程
2015/05/21 Python
python代码 if not x: 和 if x is not None: 和 if not x is None:使用介绍
2016/09/21 Python
python中Apriori算法实现讲解
2017/12/10 Python
python实现微信远程控制电脑
2018/02/22 Python
使用Keras预训练好的模型进行目标类别预测详解
2020/06/27 Python
django创建css文件夹的具体方法
2020/07/31 Python
HearthSong官网:儿童户外玩具、儿童益智玩具
2017/10/16 全球购物
Tory Burch英国官方网站:美国时尚生活品牌
2017/12/06 全球购物
C/C++程序员常见面试题二
2015/11/19 面试题
网络事业创业计划书范文
2014/01/09 职场文书
优秀团员个人事迹材料
2014/01/29 职场文书
个人四风问题对照检查材料
2014/10/01 职场文书
党的群众路线教育实践活动学习笔记范文
2014/11/06 职场文书
秦兵马俑导游词
2015/02/02 职场文书
三方合作意向书范本
2015/05/09 职场文书
2015年机关党委工作总结
2015/05/23 职场文书
TensorFlow中tf.batch_matmul()的用法
2021/06/02 Python
一篇文章弄懂Python关键字、标识符和变量
2021/07/15 Python