天天看点

linux下安装memcache

首先使用wget下载下面三个安装包

    Memcached客户端

      http://memcached.org/files/memcached-1.4.20.tar.gz

    Memcache扩展

      https://pecl.php.net/get/memcache-3.0.6.tgz

    Libevent

      https://monkey.org/~provos/libevent-2.0.13-stable.tar.gz

注意:最好不要直接复制命令

1、安装Memcache

    在linux服务器上切换到/memcache 目录中

(1)安装libevent (因为linux中memcached需要依赖libevent运行)

tar -zxvf libevent-2.0.13-stable.tar.gz  

cd libevent-2.0.13-stable  

./configure  --prefix=/usr/local/libevent

make  

make install  

(2)安装Memcached 客户端

tar -zxvf memcached-1.4.20.tar.gz  

cd memcached-1.4.20  

./configure --prefix=/usr/local/memcached  

make  

make install  

(3)安装Memcache for PHP Module (安装memcache扩展)

tar -zxvf memcache-3.0.6.tgz  

cd memcache-3.0.6  

/phpstudy/server/php/bin/phpize  

./configure --enable-memcache --with-php-config=/phpstudy/server/php/bin/php-config --with-zlib-dir  #备注:/phpstudy/server/php/bin/php-config 这个路径是linux中php所在的目录文件,不同的环境路径可能不同

make  

make install  

 在运行 "make install" 的后,得到类似下列信息:

Installing shared extensions:     /phpstudy/server/php/lib/php/extensions/no-debug-non-zts-20121212/  

安装完成后的memcache.so模块就在上面标红的路径中

(4)修改php.ini文件

找到如下代码:

extension_dir = "./"  

去掉;号,修改为 make install 后得到的目录。

extension_dir = "/phpstudy/server/php/lib/php/extensions/no-debug-non-zts-20121212/"  

增加 extension 属性,设置为

extension = memcache.so  

(5)将libevent 文件拷贝到 /usr/lib 中(不然无法启动memcached)

cp /usr/local/libevent/lib/libevent-2.0.so.5 /usr/lib

(6)手动开启memcached

/usr/local/memcached/bin/memcached -d -u root -m 256 -p 11211 -l 127.0.0.1

-d选项是启动一个守护进程,

-m是分配给Memcache使用的内存数量,单位是MB,我这里是256MB,

-u是运行Memcache的用户,我这里是root,

-l是监听的服务器IP地址,如果有多个地址的话,我这里指定了服务器的IP地址localhost,

-p是设置Memcache监听的端口,我这里设置了11211,最好是1024以上的端口,

-c选项是最大运行的并发连接数,默认是1024,按照你服务器的负载量来设定,

-P是设置保存Memcache的pid文件,

(7)重启服务器 phpstudy restart (其他环境自行百度如何重启)

(8)测试memcache安装是否成功

1. 输出phpinfo(); 查看memcache扩展是否开启

2. 输出如下代码测试memcache是否可以正常使用:

<?php  

    $mem = new Memcache;  

    $mem->connect("127.0.0.1", 11211);  

    $mem->set('key', 'hello memcache', 0, 60);  

    $val = $mem->get('key');  

    echo $val;  

?>  

继续阅读