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 相关文章推荐
简化php模板页面中分页代码的解析
Feb 06 PHP
需要发散思维学习PHP
Jun 29 PHP
PHP-redis中文文档介绍
Feb 07 PHP
php实现数组中索引关联数据转换成json对象的方法
Jul 08 PHP
weiphp微信公众平台授权设置
Jan 04 PHP
轻松掌握php设计模式之访问者模式
Sep 23 PHP
PHP利用超级全局变量$_POST来接收表单数据的实例
Nov 05 PHP
Laravel5中Cookie的使用详解
May 03 PHP
ThinkPHP+EasyUI之ComboTree中的会计科目树形菜单实现方法
Jun 09 PHP
Laravel构建即时应用的一种实现方法详解
Aug 31 PHP
PHP实现双链表删除与插入节点的方法示例
Nov 11 PHP
php curl批处理实现可控并发异步操作示例
May 09 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 创建标签云函数代码
2010/05/26 PHP
30 个很棒的PHP开源CMS内容管理系统小结
2011/10/14 PHP
Prototype 学习 工具函数学习($w,$F方法)
2009/07/12 Javascript
javascript options属性集合操作代码
2009/12/28 Javascript
简单js代码实现selece二级联动(推荐)
2014/02/18 Javascript
jquery动态分页效果堪比时光网
2014/09/25 Javascript
js实现select下拉框菜单
2015/12/08 Javascript
nodejs实现bigpipe异步加载页面方案
2016/01/26 NodeJs
基于JQuery实现分隔条的功能
2016/06/17 Javascript
简单的js表格操作
2016/09/24 Javascript
jQuery弹出窗口打开链接的实现代码
2016/12/24 Javascript
Vuejs实现购物车功能
2017/11/05 Javascript
微信小程序排坑指南详解
2018/05/23 Javascript
详解React 的几种条件渲染以及选择
2018/10/23 Javascript
vuex实现的简单购物车功能示例
2019/02/13 Javascript
使用Node.js写一个代码生成器的方法步骤
2019/05/10 Javascript
小程序中使用css var变量(使js可以动态设置css样式属性)
2020/03/31 Javascript
js实现手表表盘时钟与圆周运动
2020/09/18 Javascript
闭包在python中的应用之translate和maketrans用法详解
2014/08/27 Python
python制作最美应用的爬虫
2015/10/28 Python
python PyTorch参数初始化和Finetune
2018/02/11 Python
python实现音乐下载器
2018/04/15 Python
PyQt5每天必学之创建窗口居中效果
2018/04/19 Python
基于python traceback实现异常的获取与处理
2019/12/13 Python
解决pycharm中的run和debug失效无法点击运行
2020/06/09 Python
python适合做数据挖掘吗
2020/06/16 Python
浅谈Python里面None True False之间的区别
2020/07/09 Python
如何使用html5与css3完成google涂鸦动画
2012/12/16 HTML / CSS
HTML table 表格边框的实现思路
2019/10/12 HTML / CSS
日本卡普空电视游戏软件公司官方购物网站:e-CAPCOM
2018/07/17 全球购物
护士工作失误检讨书
2014/09/14 职场文书
个人学习群众路线心得体会
2014/11/05 职场文书
2014年监理工作总结范文
2014/11/17 职场文书
OpenCV-Python实现怀旧滤镜与连环画滤镜
2021/06/09 Python
聊聊Lombok中的@Builder注解使用教程
2021/11/17 Java/Android
改造DE1103三步曲
2022/04/07 无线电