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获取163、gmail、126等邮箱联系人地址【已测试2009.10.10】
Oct 11 PHP
php开发过程中关于继承的使用方法分享
Jun 17 PHP
几种有用的变型 PHP中循环语句的用法介绍
Jan 30 PHP
php不用正则验证真假身份证
Nov 06 PHP
使用PHP导出Redis数据到另一个Redis中的代码
Mar 12 PHP
PHP正则提取不包含指定网址的图片地址的例子
Apr 21 PHP
Thinkphp中volist标签mod控制一定记录的换行BUG解决方法
Nov 04 PHP
getimagesize获取图片尺寸实例
Nov 15 PHP
PHP+Javascript实现在线拍照功能实例
Jul 18 PHP
PHP生成条形码大揭秘
Sep 24 PHP
php实现微信支付之企业付款
May 30 PHP
不常用但很实用的PHP预定义变量分析
Jun 25 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
超外差式晶体管收音机的组装与统调
2021/03/01 无线电
php循环检测目录是否存在并创建(循环创建目录)
2011/01/06 PHP
PHP+jQuery翻板抽奖功能实现
2015/10/19 PHP
PHP入门教程之使用Mysqli操作数据库的方法(连接,查询,事务回滚等)
2016/09/11 PHP
基于JQuery的Pager分页器实现代码
2010/07/17 Javascript
jQuery调用WebService的实现代码
2011/06/19 Javascript
JS中的form.submit()不能提交表单的错误原因
2014/10/08 Javascript
nodejs下打包模块archiver详解
2014/12/03 NodeJs
node.js中的console.log方法使用说明
2014/12/09 Javascript
Node.js环境下JavaScript实现单链表与双链表结构
2016/06/12 Javascript
Vue.js计算属性computed与watch(5)
2016/12/09 Javascript
关于jQuery EasyUI 中刷新Tab选项卡后一个页面变形的解决方法
2017/03/02 Javascript
微信小程序基础教程之worker线程的使用方法
2019/07/15 Javascript
vue element-ui实现动态面包屑导航
2019/12/23 Javascript
在vue中created、mounted等方法使用小结
2020/07/21 Javascript
antd table按表格里的日期去排序操作
2020/11/17 Javascript
[07:27]DOTA2卡尔工作室 英雄介绍水晶室女篇
2013/06/21 DOTA
深入解析Python中的urllib2模块
2015/11/13 Python
python下实现二叉堆以及堆排序的示例
2017/09/29 Python
解决项目pycharm能运行,在终端却无法运行的问题
2019/01/19 Python
Python制作词云图代码实例
2019/09/09 Python
python剪切视频与合并视频的实现
2020/03/03 Python
python退出循环的方法
2020/06/18 Python
python 实现一个简单的线性回归案例
2020/12/17 Python
html5本地存储_动力节点Java学院整理
2017/07/12 HTML / CSS
html5 canvas fillRect坐标和大小的问题解决方法
2014/03/26 HTML / CSS
详解HTML5 Canvas绘制时指定颜色与透明度的方法
2016/03/25 HTML / CSS
深入浅析HTML5中的article和section的区别
2018/05/15 HTML / CSS
瑞典网上购买现代和复古家具:Reforma
2019/10/21 全球购物
介绍一下XMLHttpRequest对象
2012/02/12 面试题
考察现实表现材料
2014/05/19 职场文书
机票销售员态度不好检讨书
2014/09/27 职场文书
支部书记四风问题自我剖析材料
2014/09/29 职场文书
2015年党员创先争优公开承诺书
2015/04/27 职场文书
餐厅开业活动方案
2019/07/08 职场文书
MySQL修炼之联结与集合浅析
2021/10/05 MySQL