memcached的安装以及php两个扩展软件安装(memcache、memcached)
百度云安装包:http://pan.baidu.com/s/1pKZeDwn k3ap
1、安装memcached
Memcached是基于libevent的事件处理,所以它的安装依赖libevent。因此我们首先需要将libevent安装好,再进行安装memcached。
Libevent官网:http://libevent.org/
Memcached官网:http://www.danga.com/memcached
安装libevent:
#tar –zxvf libevent-1.4.9-stable.tar.gz #cd libevent-1.4.9-stable #./configue --prefix=/usr #make&make install
安装memcached:
#tar –zxvf memcached-1.4.25.tar.gz #cd memcached-1.4.25 #./configue --with-libevent=/usr --prefix=/usr/local #make&make install
试运行:
# /usr/local/bin/memcached -u 用户名 #ps –A|grep memcached (查看是否有memcached进程)
具体启动参数以及指令可以参考:http://www.cnblogs.com/phpstudy2015-6/p/6653199.html
2、安装PHP中的memcache扩展
官网下载:http://pecl.php.net/package/memcache
安装:
# tar zxvf memcache-2.2.4.tgz # cd memcache-2.2.4 cd # /usr/local/php/bin/phpize # ./configure --with-php-config=/usr/local/php/bin/php-config #make&make install
配置:
(生成的.so扩展文件)
# ls -l /usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/memcache.so # vi /usr/local/php/lib/php.ini
添加extension = memcache.so
保存,重启apache
测试:
1、建立一个test.php文件,能够生成memcache对象则表示安装扩展成功
<?php
$m=new memcache();
Var_dump($m);
?>
2、查看phpinfo();
3、安装libmemcached
官网下载:https://launchpad.net/libmemcached/+download
简述软件:
libmemcached是memcached的C客户端,它具有的优点是低内存,线程安全等特点。
其中libmemcached版本1.0.9往上需要使用跟高级的gcc编译安装(它依赖更高级版本gcc的库)
假若gcc版本过低则:
yum install gcc44 gcc44-c++ libstdc++44-devel
安装过程:
# tar zxvf libmemcached-1.0.18.tar.gz # cd libmemcached-1.0.18 #./configure --prefix=/usr/local/libmemcached --with-memcached #make && make install
【一般来说,gcc版本ok,安装就能ok】
安装要注意的问题:
1、最好能够设置安装目录,--prefix
【以下两个来自网上,我安装时没有遇到这两个问题】
2、安装过程中不要忘了,–with-memcached,不然会提示你
checking for memcached… no
configure: error: “could not find memcached binary”
3、你的memcached是不是1.2.4以上的,如果不是会提示你
clients/ms_thread.o: In function
`ms_setup_thread’:
/home/zhangy/libmemcached-0.42/clients/ms_thread.c:225: undefined reference to
`__sync_fetch_and_add_4′
clients/ms_thread.o:/home/zhangy/libmemcached-0.42/clients/ms_thread.c:196:
more undefined references to `__sync_fetch_and_add_4′ follow
collect2: ld returned 1 exit status
make[2]: *** [clients/memslap] Error 1
make[2]: Leaving directory `/home/zhangy/libmemcached-0.42′
解决办法是–disable-64bit CFLAGS=”-O3 -march=i686″,如果不用这个64位的long型数据,我想php扩展memcached,memcache也就没什么区别了,装memcached也就没什么意思了。
4、安装PHP中的memcached扩展
memcached的1.2.4及以上增加了CAS(Check and Set)协议,对于同一key的多进行程的并发处理问题。php的扩展memcache,不支持cas,所以我们要装memcached扩展,memcached扩展是基于libmemcached,所以要先安装libmemcached。
php中的memcache扩展与memcached扩展相对比,memcache扩展已经停止了维护且功能相对较少;而memcached扩展一直有维护更新,功能强大。
官网下载:http://pecl.php.net/package/memcached
【安装memcached扩展注意】
如果libmemcached被安装在一个非标准路径,使用--with-libmemcached-dir=DIR 来指定路径,DIR就是libmemcached安装时的prefix参数。这个路径需要包含文件include/libmemcached/memcached.h。
如果要支持压缩就需要zlib。对于非标准安装的zlib库,使用--with-zlib-dir=DIR 来指定zlib安装路径,DIR就是zib安装时的prefix参数
session处理器的支持默认是开启的。如果要关闭它,使用选项--disable-memcached-session 。
# tar -zxvf memcached-2.2.0.tgz # cd memcached-2.2.0 # /usr/local/php/bin/phpize #./configure --enable-memcached --with-php-config=/usr/local/php/bin/php-config --with-libmemcached-dir=/usr/local/libmemcached --with-memcached --with-zlib-dir=/usr/local/zlib --enable-memcached-igbinary --disable-memcahed-sasl
# make && make install
【注意】上面的编译时:
“--with-zlib-dir=/usr/local/zlib”:表示在缓存数据时用到压缩函数,如果不需要压缩的话那就不需要安装了。安装方法如下
“--enable-memcached-igbinary”:igbinary是一个序列化工具,它将php的数据结构存储为紧密的二进制形式,在时间和空间上都有所改进,可以提高性能。要想带上这个参数那么就需要安装它 。安装方法如下
查看:
5、安装zlib与igbinary
官方下载:http://www.zlib.net (zlib)
http://pecl.php.net/package/igbinary (igbinary)
【安装zlib】
# tar -xvzf zlib-1.2.5.tar.gz # cd zlib-1.2.5.tar.gz # ./configure --prefix=/usr/local/zlib # make && make install
【安装igbinary扩展】
igbinary是php中的一个扩展
# tar –zxvf igbinary-1.1.1.tgz # cd igbinary-1.1.1 # /usr/lcoal/php/bin/phpize # ./configure # make && make install
(以上是自己的一些见解,若有不足或者错误的地方请各位指出)
作者:那一叶随风
声明:本博客文章为原创,只代表本人在工作学习中某一时间内总结的观点或结论。转载时请在文章页面明显位置给出原文链接
memcached的安装以及php两个扩展软件安装(memcache、memcached)的更多相关文章
- Centos 中扩展 软件源 的安装 之 Remi ( 为yum 扩展软件源 )
平时一般都是使用Ubuntu的,最近用起来Centos 发现软件安装方便不是很方便, 在安装过程中接触到了这么一个概念, 就是为yum 安装 扩展源, 这里下面要说的就是其中的 Remi ...
- Centos 中扩展 软件源 的安装 之 epel ( 为yum 扩展软件源 EPEL源 )
EPEL (Extra Packages for Enterprise Linux)是基于Fedora的一个项目,为“红帽系”的操作系统提供额外的软件包,适用于RHEL.CentOS和Scientif ...
- attempt to open datawindow failed@安装两个PB软件
attempt to open datawindow failed@安装两个PB软件 安装了不同版本的PB软件后,默认打开方式为后一个安装的版本. 如果想改为第一个安装版本,在“右键”——>”打 ...
- 解决Tuxera NTFS for Mac软件安装问题
在听到小凡的电话说"Tuxera NTFS for Mac软件安装失败,怎么办"的时候,小编心里真像有一万头草泥马在奔腾--苹果软件还能安装失败!? 挥手把一万头草泥马赶走,脑补着 ...
- Linux软件安装方法
常用的两种软件安装方法: 1.RPM软件安装 rpm -qi 软件名 查询 rpm -ivh *.rpm 安装 rpm -e 软件名 卸载 系统自带的一些rpm包在系统镜像的Server文件夹里,需要 ...
- Linux软件安装管理之——dpkg与apt-*详解 apt命令(dpkg和apt代替rpm)
apt list *python* Nosee123关注赞赏支持 Linux软件安装管理之--dpkg与apt-*详解 [Linux软件安装管理系列]- - 传送门: - -<Linux软件 ...
- Linux软件安装管理之——dpkg与apt-*详解
Linux软件安装管理之--dpkg与apt-*详解 [Linux软件安装管理系列]- - 传送门: - -<Linux软件安装管理之--源码安装详解> - -<Linux软件安装管 ...
- inux软件安装管理之——dpkg与apt-*详解
inux软件安装管理之--dpkg与apt-*详解 Nosee123关注 0.5922017.09.12 17:47:44字数 3,894阅读 8,565 [Linux软件安装管理系列]- - 传送门 ...
- Ubuntu软件安装和查看已安装相关知识
说明:由于图形化界面方法(如Add/Remove... 和Synaptic Package Manageer)比较简单,所以这里主要总结在终端通过命令行方式进行的软件包安装.卸载和删除的方法.一.Ub ...
随机推荐
- jQuery DataTable 删除数据后重新加载
问题描述: 利用jQuery Datatable和artTemplate组合来做的表格.但是当删除数据时,需要重新加载table里的数据.但是问题是datatable并没有直接的重新渲染,反而给数据累 ...
- Socket的应用案例
java提供网络功能的四大类1.InetAddress :用于标识网络上的硬件资源.2.URL:统一资源定位符,通过URL可以直接读取和写入网络上的数据.3.Socket:使用TCP协议实现网络通信的 ...
- 打造“黑客“手机--Kali Nethunter
从三月份开始,继续更新技术文章.一个月没有更新技术文章了,这一个月有一部分时间是在休息,另一部分时间是在学习汇编和操作系统,沉淀底层和逆向方面的技术. 今年年初,为了玩一下 kali NetHunte ...
- nodejs中的路由
一.路由初步 url.parse(string).query | url.parse(string).pathname | | | | | ------ -------------------http ...
- 2017-02-19C#基础 - 数据类型与类型转换
数据类型 基本数据类型 1)整形:byte short int long 整数类型 2)浮点型:fioat(.NET类型 Single 值后面要加f float = 10.5f;) doubl ...
- layer弹出层框架alert与msg详解
ayer至今仍作为layui的代表作,她的受众广泛并非偶然,而是这五年多的坚持,不断完善和维护.不断建设和提升社区服务,使得猿们纷纷自发传播,乃至于成为今天的Layui最强劲的源动力.目前,layer ...
- 微信开源PHP商城系统一处blind xxe(无需登录,附POC)
测试版本wemall 3.3 下载地址 http://git.oschina.net/einsqing/wemall/repository/archive?ref=master 需要开源中国的账号 c ...
- 3997: [TJOI2015]组合数学
3997: [TJOI2015]组合数学 Time Limit: 20 Sec Memory Limit: 128 MBSubmit: 247 Solved: 174[Submit][Status ...
- 长连接 Socket.IO
概念 说到长连接,对应的就是短连接了.下面先说明一下长连接和短连接的区别: 短连接与长连接 通俗来讲,浏览器和服务器每进行一次通信,就建立一次连接,任务结束就中断连接,即短连接.相反地,假如通信结束( ...
- js/jQuery中load()、onload()、ready()的区别
一.两大事件 load事件:指页面包含图片等文件在内的所有元素都加载完毕后执行的事件. ready事件:表示文档结构已加载完成(不包括图片等非文字媒体文件) 浏览器页面渲染的过程 - 寸寸君 - 博客 ...