服务器安装memcache
1. 首先安装Libevent事件触发管理器。
wget https://github.com/downloads/libevent/libevent/libevent-2.0.21-stable.tar.gz tar vxf libevent-2.0.21-stable.tar.gz cd libevent-2.0.21-stable ./configure -prefix=/usr/local/lib/libevent # ./configure make && make install
或者 yum install libevent
2. 编译安装memcached
wget http://memcached.org/latest cp latest memcached.tar.gz tar -zxvf memcached.tar.gz cd memcached ./configure -with-libevent=/usr/local/lib/libevent # ./configure make && make install
3. 启动memcached
/usr/local/bin/memcached -d -m 128 -l 127.0.0.1 -p 11211 -u root # (128为内存, 11211为端口,root为用户组)
启动过程中如果报错: error while loading shared libraries: libevent-1.3.so.1: cannot open shared object file: No such file or directory
解决:
1.find / -name libevent-1.3.so.1 (查看系统已安装的libevent在哪里)
2. LD_DEBUG=libs /usr/local/bin/memcached -v (查看寻找的路径是哪里)
例如我的是在 /usr/lib64/ 目录下查找,而系统中安装的路径为 /usr/local/lib/
3. ln -s /usr/lib64/libevent-1.3.so.1 /usr/local/lib/libevent-1.3.so.1 在memcache寻找的路径中创建软链指向系统中的库文件
4. 查看是否启动成功
ps -ef |grep memcached
如图则成功
php7 安装memcached扩展(我的php是编译安装的)
1. 首先安装memcache的客户端库 libmemcached。
php版本不高于5.6可以安装
wget https://launchpad.net/libmemcached/1.0/1.0.17/+download/libmemcached-1.0.17.tar.gz
php7版本的1.0.17版本的libmemcache库安转不了会报错 只能装下面的1.0.18版本的
wget https://launchpadlibrarian.net/165454254/libmemcached-1.0.18.tar.gz
tar -zxvf libmemcached-1.0.18.tar.gz
cd libmemcached-1.0.18
./configure
make && make install
2.安装 php7 memcache扩展
git clone
https://github.com/php-memcached-dev/php-memcached git checkout -b php7 cd php_memcache /usr/local/php/bin/phpize ./configure --with-php-config=/usr/local/php/bin/php-config make && make install
安装成功如图:
修改php.ini的配置
加上:extension_dir="/usr/local/php7.1/lib/php/extensions/no-debug-non-zts-20160303/"(每个人的路径可能不一样)
extension = "memcached.so
重启php-fpm
测试代码
<?php
$m = new Memcached; $m->addServer('127.0.0.1', 11211); $m->set('foo', 200); var_dump($m->get('foo'));
?>