一、(以下命令全部手打,复制会有空格的错误)
在根目录下新建一个memcache目录
将三个包放在memcache目录下
Memcached客户端
wget http://memcached.org/files/memcached-1.4.20.tar.gz
Memcache扩展
wget https://pecl.php.net/get/memcache-3.0.6.tgz
Libevent
wget https://monkey.org/~provos/libevent-2.0.13-stable.tar.gz
二、
(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 localhost
-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;
?>
(9)浏览器里能显示 hello memcache就说明成功了;;