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中使用Oracle数据库(2)
Oct 09 PHP
PHP 操作文件的一些FAQ总结
Feb 12 PHP
Mysql数据库操作类( 1127版,提供源码下载 )
Dec 02 PHP
使用php发送有附件的电子邮件-(PHPMailer使用的实例分析)
Apr 26 PHP
php连接函数implode与分割explode的深入解析
Jun 26 PHP
PHP加密解密类实例分析
Apr 20 PHP
PHP5.5迭代生成器用法实例详解
Mar 16 PHP
Yii净化器CHtmlPurifier用法示例(过滤不良代码)
Jul 15 PHP
PHP文件上传操作实例详解
Sep 27 PHP
实例讲解YII2中多表关联的使用方法
Jul 21 PHP
ThinkPHP框架实现定时执行任务的两种方法分析
Sep 04 PHP
ThinkPHP5+UEditor图片上传到阿里云对象存储OSS功能示例
Aug 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
模仿OSO的论坛(二)
2006/10/09 PHP
用PHP+MySQL搭建聊天室功能实例代码
2012/08/20 PHP
PHP使用range协议实现输出文件断点续传代码实例
2014/07/04 PHP
深入理解PHP中的empty和isset函数
2016/05/26 PHP
PHP格式化显示时间date()函数代码
2018/10/03 PHP
jQuery 1.0.2
2006/10/11 Javascript
JS 实现Json查询的方法实例
2013/04/12 Javascript
javascript检测是否联网的实现代码
2014/09/28 Javascript
JavaScript 学习笔记之操作符(续)
2015/01/14 Javascript
自己动手手写jQuery插件总结
2015/01/20 Javascript
JS实用的动画弹出层效果实例
2015/05/05 Javascript
jquery插件validation实现验证身份证号等
2015/06/04 Javascript
javascript实现图片延迟加载方法汇总(三种方法)
2015/08/27 Javascript
JavaScript进阶练习及简单实例分析
2016/06/03 Javascript
jQuery获取table行数并输出单元格内容的实现方法
2016/06/30 Javascript
canvas实现爱心和彩虹雨效果
2017/03/09 Javascript
angular4自定义组件详解
2017/09/28 Javascript
d3.js实现自定义多y轴折线图的示例代码
2018/05/30 Javascript
详解js动态获取浏览器或页面等容器的宽高
2019/03/13 Javascript
JS实现从对象获取对象中单个键值的方法示例
2019/06/05 Javascript
解决layui的radio属性或别的属性没显示出来的问题
2019/09/26 Javascript
JS实现瀑布流效果
2020/03/07 Javascript
微信跳一跳小游戏python脚本
2018/01/05 Python
python sys,os,time模块的使用(包括时间格式的各种转换)
2018/04/27 Python
Python多线程原理与用法实例剖析
2019/01/22 Python
python迭代器常见用法实例分析
2019/11/22 Python
python中使用paramiko模块并实现远程连接服务器执行上传下载功能
2020/02/29 Python
华为俄罗斯官方网上商城:购买Huawei手机和平板
2017/04/21 全球购物
奥地利网上书店:Weltbild
2017/07/14 全球购物
村庄绿化方案
2014/05/07 职场文书
五四青年节演讲稿
2014/05/26 职场文书
航空学院求职信
2014/06/11 职场文书
2014小学教师个人工作总结
2014/11/10 职场文书
个人简历求职信范文
2015/03/20 职场文书
2015年世界粮食日演讲稿
2015/03/20 职场文书
Python内置的数据类型及使用方法
2022/04/13 Python