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数组应该有多大的分析
Jul 30 PHP
php session_start()关于Cannot send session cache limiter - headers already sent错误解决方法
Nov 27 PHP
php设计模式 Builder(建造者模式)
Jun 26 PHP
php使用exec shell命令注入的方法讲解
Nov 12 PHP
PHP set_error_handler()函数使用详解(示例)
Nov 12 PHP
PHP错误Cannot use object of type stdClass as array in错误的解决办法
Jun 12 PHP
php使用正则验证中文
Apr 06 PHP
PHP带节点操作的无限分类实现方法详解
Nov 09 PHP
PHP大文件分割上传 PHP分片上传
Aug 28 PHP
php对微信支付回调处理的方法
Aug 23 PHP
KindEditor在php环境下上传图片功能集成的方法示例
Jul 20 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 字符串正则替换函数preg_replace使用说明
2011/07/15 PHP
PHP中使用smarty生成静态文件的例子
2014/04/24 PHP
thinkPHP框架中执行原生SQL语句的方法
2017/10/25 PHP
JS 图片缩放效果代码
2010/06/09 Javascript
JavaScript的类型简单说明
2010/09/03 Javascript
js调用AJAX时Get和post的乱码解决方法
2013/06/04 Javascript
JavaScript获取FCK编辑器信息的具体方法
2013/07/12 Javascript
js实现键盘上下左右键选择文字并显示在文本框的方法
2015/05/07 Javascript
基于jQuery实现动态搜索显示功能
2016/05/05 Javascript
jQuery 3.0十大新特性
2016/07/06 Javascript
JavaScript高仿支付宝倒计时页面及代码实现
2016/10/21 Javascript
js手机号4位显示空格,银行卡每4位显示空格效果
2017/03/23 Javascript
Angularjs 手写日历的实现代码(不用插件)
2017/10/18 Javascript
微信小程序实现的动态设置导航栏标题功能示例
2019/01/31 Javascript
微信小程序textarea层级过高(盖住其他元素)问题的解决办法
2019/03/04 Javascript
详解使用React制作一个模态框
2019/03/14 Javascript
JQuery中的常用事件、对象属性与使用方法分析
2019/12/23 jQuery
JS页面动态绘图工具SVG,Canvas,VML介简介
2020/10/16 Javascript
[44:15]DOTA2上海特级锦标赛主赛事日 - 5 败者组决赛Liquid VS EG第二局
2016/03/06 DOTA
Python 函数用法简单示例【定义、参数、返回值、函数嵌套】
2019/09/20 Python
python pygame实现球球大作战
2019/11/25 Python
Python unittest工作原理和使用过程解析
2020/02/24 Python
Keras实现支持masking的Flatten层代码
2020/06/16 Python
matplotlib绘制鼠标的十字光标的实现(内置方式)
2021/01/06 Python
Python 无限级分类树状结构生成算法的实现
2021/01/21 Python
移动端html5判断是否滚动到底部并且下拉加载
2019/11/19 HTML / CSS
CK澳大利亚官网:Calvin Klein澳大利亚
2020/12/12 全球购物
品牌宣传方案
2014/03/21 职场文书
竞聘书模板
2014/03/31 职场文书
党的群众路线教育实践活动领导班子整改方案
2014/10/25 职场文书
校本课程教学计划
2015/01/19 职场文书
公司停电通知
2015/04/15 职场文书
旷工检讨书大全
2015/08/15 职场文书
合理化建议书范文
2015/09/14 职场文书
2019优秀干部竞聘演讲稿范文!
2019/07/02 职场文书
简单聊一聊SQL注入及防止SQL注入
2022/03/23 MySQL