memcached的安装以及php两个扩展软件安装(memcache、memcached)

百度云安装包:http://pan.baidu.com/s/1pKZeDwn  k3apphp

一、安装memcached

  Memcached是基于libevent的事件处理,因此它的安装依赖libevent。所以咱们首先须要将libevent安装好,再进行安装memcached。html

  Libevent官网:http://libevent.org/c++

  Memcached官网:http://www.danga.com/memcachedapache

  安装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

 

试运行:session

# /usr/local/bin/memcached -u 用户名

#ps –A|grep memcached       (查看是否有memcached进程)

 

具体启动参数以及指令能够参考:http://www.cnblogs.com/phpstudy2015-6/p/6653199.html数据结构

 

二、安装PHP中的memcache扩展

  官网下载:http://pecl.php.net/package/memcache并发

  安装:memcached

# 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

  测试:

  一、创建一个test.php文件,可以生成memcache对象则表示安装扩展成功

<?php
    $m=new memcache();
    Var_dump($m);
?>

 

   二、查看phpinfo();

 

三、安装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】

  安装要注意的问题:

  一、最好可以设置安装目录,--prefix

  【如下两个来自网上,我安装时没有遇到这两个问题】

  二、安装过程当中不要忘了,–with-memcached,否则会提示你

checking for memcached… no
configure: error: “could not find memcached binary”

  三、你的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也就没什么意思了。

 

四、安装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的数据结构存储为紧密的二进制形式,在时间和空间上都有所改进,能够提升性能。要想带上这个参数那么就须要安装它 。安装方法以下

查看:

 

五、安装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

 

 

(以上是本身的一些看法,如有不足或者错误的地方请各位指出)

做者:那一叶随风

 声明:本博客文章为原创,只表明本人在工做学习中某一时间内总结的观点或结论。转载时请在文章页面明显位置给出原文连接