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中批量修改文件后缀名的函数代码
Oct 23 PHP
php中文字符串截取方法实例总结
Sep 30 PHP
Laravel 5框架学习之Blade 简介
Apr 08 PHP
php备份数据库类分享
Apr 14 PHP
PHP使用缓存即时输出内容(output buffering)的方法
Aug 03 PHP
简介WordPress中用于获取首页和站点链接的PHP函数
Dec 17 PHP
浅谈PHP中try{}catch{}的使用方法
Dec 09 PHP
laravel框架关于搜索功能的实现
Mar 15 PHP
PHP依赖注入原理与用法分析
Aug 21 PHP
Laravel框架定时任务2种实现方式示例
Dec 08 PHP
Yii框架自定义数据库操作组件示例
Nov 11 PHP
php查看一个变量的占用内存的实例代码
Mar 29 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+AJAX聊天程序[聊天室]提供下载
2007/07/21 PHP
新安装的MySQL数据库需要注意的安全知识
2008/07/30 PHP
PHP中数组的三种排序方法分享
2012/05/07 PHP
PHP 处理TXT文件(打开/关闭/检查/读取)
2013/05/13 PHP
遍历echsop的region表形成缓存的程序实例代码
2016/11/01 PHP
PHP最常用的正则表达式
2017/02/13 PHP
JavaScript的9个陷阱及评点分析
2008/05/16 Javascript
用javascript作一个通用向导说明
2011/08/30 Javascript
js调用AJAX时Get和post的乱码解决方法
2013/06/04 Javascript
JS实现金额转换(将输入的阿拉伯数字)转换成中文的实现代码
2013/09/30 Javascript
jquery 实现两级导航菜单附效果图
2014/03/07 Javascript
JQuery中使用on方法绑定hover事件实例
2014/12/09 Javascript
jQuery在ul中显示某个li索引号的方法
2015/03/17 Javascript
JavaScript中textRange对象使用方法小结
2015/03/24 Javascript
全面了解JavaScirpt 的垃圾(garbage collection)回收机制
2016/07/11 Javascript
又一款MVVM组件 构建自己的Vue组件(2)
2017/03/13 Javascript
ReactJs实现树形结构的数据显示的组件的示例
2017/08/18 Javascript
浅析vue-router原理
2018/10/19 Javascript
node版本管理工具n包使用教程详解
2018/11/09 Javascript
ES10的13个新特性示例(小结)
2019/09/23 Javascript
[04:19]DOTA2完美大师赛第四天精彩集锦
2017/11/26 DOTA
[01:07:19]2018DOTA2亚洲邀请赛 4.5 淘汰赛 Mineski vs VG 第一场
2018/04/06 DOTA
Python中asyncore的用法实例
2014/09/29 Python
Django微信小程序后台开发教程的实现
2020/06/03 Python
Python爬虫爬取博客实现可视化过程解析
2020/06/29 Python
教你如何用python操作摄像头以及对视频流的处理
2020/10/12 Python
Nike西班牙官方网站:Nike.com (ES)
2017/10/30 全球购物
Gap工厂店:Gap Factory
2017/11/02 全球购物
时尚、社区、科技:SEVENSTORE
2019/04/26 全球购物
师范生实习的个人自我鉴定
2013/10/20 职场文书
培训主管的岗位职责
2013/11/23 职场文书
旅游专业职业生涯规划范文
2014/01/13 职场文书
领导干部培训感言
2014/01/23 职场文书
银行授权委托书格式
2014/10/10 职场文书
教师年度考核个人总结
2015/02/12 职场文书
爸爸的三轮车观后感
2015/06/16 职场文书