linux php安装memcached扩展:

在linux 编译,需要gcc,make,cmake,autoconf,libtool 等工具,需提前安装好。
memcached的安装包括:1、服务端的安装;2、客户端的安装

一、服务器端安装:
①memcached 依赖于libevent 库,因此我们需要先安装libevent.
cd /usr/local/src
wget https://github.com/libevent/libevent/releases/download/release-2.0.22-stable/libevent-2.0.22-stable.tar.gz
tar zxvf libevent-2.0.22-stable.tar.gz
cd libevent-2.0.22-stable
./configure --prefix=/usr/local/libevent
make && make install

②安装memcached服务器版:
      cd /usr/local/src
      wget http://www.memcached.org/files/memcached-1.4.33.tar.gz
      tar zxvf memcached-1.4.33.tar.gz
      cd memcached-1.4.33
      ./configure --prefix=/usr/local/memcached  --with-libevent=/usr/local/libevent
      make && make install

③启动memcached:
  /usr/local/memcached/bin/memcached -m 64 -p 11211 -u root -d

启动命令参数如下表
•启动方式:•-d以守护程序(daemon)方式运行
•-u root指定用户,如果当前为 root ,需要使用此参数指定用户
•-P /tmp/a.pid保存PID到指定文件

•内存设置:
•-m 1024 数据内存数量,不包含memcached本身占用,单位为 MB
•-M内存不够时禁止LRU,报错
•-n 48 初始chunk=key+suffix+value+32结构体,默认48字节
•-f 1.25 增长因子,默认1.25
•-L启用大内存页,可以降低内存浪费,改进性能

•安全设置:•-S 启用sasl安全验证功能,开启后,客户端需要提供用户名密码方能访问memcached

•连接设置:•-l 127.0.0.1 监听的 IP 地址,本机可以不设置此参数
•-p 11211TCP端口,默认为11211,可以不设置
•-U 11211UDP端口,默认为11211,0为关闭

•并发设置:•-c 1024 最大并发连接数,默认1024,最好是200
•-t 4线程数,默认4。由于memcached采用NIO,所以更多线程没有太多作用
•-R 20 每个event连接最大并发数,默认20
•-C禁用CAS命令(可以禁止版本计数,减少开销)

二、客户端安装:客户端需安装libmemcached库
①cd /usr/local/src
wget https://launchpad.net/libmemcached/1.0/1.0.18/+download/libmemcached-1.0.18.tar.gz
tar zxvf libmemcached-1.0.18.tar.gz
cd libmemcached-1.0.18
./configure --prefix=/usr/local/libmemcached
make && make install

②安装php-fpm的memcached扩展
  cd /usr/local/src
      wget http://pecl.php.net/get/memcached-2.2.0.tgz
      tar zxvf memcached-2.2.0.tgz
      cd memcached-2.2.0

到了这一步,我们要使用安装php时生成的 phpize 来生成 configure 配置文件

     /usr/local/php/bin/phpize --with-php-config=/usr/local/php/bin/php-config

    ./configure --with-php-config=/usr/local/php/bin/php-config \
     --with-libmemcached-dir=/usr/local/libmemcached --disable-memcached-sasl

     make && make install

     --with-php-config 指定 php-config,该文件与 phpize 所在目录相同, 
     --with-libmemcached-dir 指定 libmemcached 安装目录,就刚才我们 --prefix 那个目录 ,
     --disable-memcached-sasl 说明我们系统不支持sasl.h

     如果安装成功,会提示:
     Installing shared extension:/usr/local/php/lib/extensions/no-debug-non-zts-20160524/ 等类信息

     接下来,我们编辑php配置文件php.ini,把 php-memcached 扩展加到配置文件。
     在 php.ini 中添加以下内容:extension=memcached.so  最后重启nginx和php-fpm
     重启完之后,检查是否安装完成php-memcached扩展。php其他扩展均可根据此方法安装。