百度云安装包: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)的更多相关文章

  1. Centos 中扩展 软件源 的安装 之 Remi ( 为yum 扩展软件源 )

    平时一般都是使用Ubuntu的,最近用起来Centos 发现软件安装方便不是很方便,   在安装过程中接触到了这么一个概念,  就是为yum 安装 扩展源,  这里下面要说的就是其中的  Remi  ...

  2. Centos 中扩展 软件源 的安装 之 epel ( 为yum 扩展软件源 EPEL源 )

    EPEL (Extra Packages for Enterprise Linux)是基于Fedora的一个项目,为“红帽系”的操作系统提供额外的软件包,适用于RHEL.CentOS和Scientif ...

  3. attempt to open datawindow failed@安装两个PB软件

    attempt to open datawindow failed@安装两个PB软件 安装了不同版本的PB软件后,默认打开方式为后一个安装的版本. 如果想改为第一个安装版本,在“右键”——>”打 ...

  4. 解决Tuxera NTFS for Mac软件安装问题

    在听到小凡的电话说"Tuxera NTFS for Mac软件安装失败,怎么办"的时候,小编心里真像有一万头草泥马在奔腾--苹果软件还能安装失败!? 挥手把一万头草泥马赶走,脑补着 ...

  5. Linux软件安装方法

    常用的两种软件安装方法: 1.RPM软件安装 rpm -qi 软件名 查询 rpm -ivh *.rpm 安装 rpm -e 软件名 卸载 系统自带的一些rpm包在系统镜像的Server文件夹里,需要 ...

  6. Linux软件安装管理之——dpkg与apt-*详解 apt命令(dpkg和apt代替rpm)

    apt list *python* Nosee123关注赞赏支持   Linux软件安装管理之--dpkg与apt-*详解 [Linux软件安装管理系列]- - 传送门: - -<Linux软件 ...

  7. Linux软件安装管理之——dpkg与apt-*详解

    Linux软件安装管理之--dpkg与apt-*详解 [Linux软件安装管理系列]- - 传送门: - -<Linux软件安装管理之--源码安装详解> - -<Linux软件安装管 ...

  8. inux软件安装管理之——dpkg与apt-*详解

    inux软件安装管理之--dpkg与apt-*详解 Nosee123关注 0.5922017.09.12 17:47:44字数 3,894阅读 8,565 [Linux软件安装管理系列]- - 传送门 ...

  9. Ubuntu软件安装和查看已安装相关知识

    说明:由于图形化界面方法(如Add/Remove... 和Synaptic Package Manageer)比较简单,所以这里主要总结在终端通过命令行方式进行的软件包安装.卸载和删除的方法.一.Ub ...

随机推荐

  1. Nginx http 500错误分析及解决方法

      出现场景:   在用nginx做负载均衡服务器对系统做并发测试,并发量比较大时Nginx会报出Http 500错误     报错原因:   访问量大的时候,由于系统资源限制,而不能打开过多的文件 ...

  2. HttpHeplp 公共类 HttpWebRequest

    public class HttpHelp { public CookieContainer CookieContainer { get; set; } public CookieCollection ...

  3. Keepalived + HAProxy 搭建【第一篇】HAProxy 的安装与配置

    第一步:准备 1. 操作系统 CentOS-7-x86_64-Everything-1511 2. 安装包 haproxy-1.7.2.tar.gz 第二步:安装 # tar zxvf haproxy ...

  4. Ansible 系列之 Playbooks 剧本 (1)

    一.Playbooks 介绍 1.Playbooks是Ansible的配置,部署和编排语言.它们可以描述您希望远程系统执行的策略,或一般IT流程中的一组步骤. 如果说ansible 模块 是你车间里的 ...

  5. 数据的增删改查(三层)<!--待补充-->

    进行数据操作必然少了对数据的增删改查,用代码生成器生成的代码不是那么满意!方便在今后使用,这里就主要写“数据访问层(Dal)” 既然这里提到三层架构:有必要将三层内容在这里详细介绍一下(待补充) 注: ...

  6. mfc---获取当前时间

    CTime t = CTime::GetCurrentTime(); CString strTime = t.format("%Y/&m%d" %h:%M:%S);

  7. 结合prototype和xmlhttprequest封装ajax请求

    由于拖延症的严重以及年前准备年会(借口*^__^*) 导致这个小的的思考  现在才算完成 再怎么说也算是上班以来带我的前辈第一次这么正式的给我出题 不管是出于尊重还是自我要求我都决定把它简要的记下来 ...

  8. 双系统win7和ubuntu14.04进入了grub rescue>

    可以跳过的废话:最近在学习caffe,需要在linux下安装cuda,sudo apt-get install cuda后,出现了由于根目录/空间不足而失败的情况. 于是想把win7下80G的一个盘格 ...

  9. Javaweb之Servlet入门

    1. 什么是Servlet? Java Servlet 是运行在 Web 服务器或应用服务器上的程序:他是浏览器(HTTP客户端)请求和HTTP服务器上资源(访问数据库)之间的中间层. 2. 什么是S ...

  10. Linux screen 常用命令

    想必,只要接触过Linux一段时间的人,一定知道screen这个神奇的工具了,它主要有如下些优势: 1. 后台运行:当你在ssh terminal执行shell时,如果网络这时断开,你的程序会怎样?T ...