前言:
Memcached与Memcache的区别
至于Memcached和Memcache的区别,其实很简单,一个是服务端,一个是客户端,就像mysql一样,我们在命令行里输入各种sql语句就能查询到需要的结果,这就是客户端,客户端接收我们输入的命令从服务端查询,mysqld就是服务端,就是响应客户端的额后台进程,在这里也一样Memcached是服务端,而Memcache就是客户端。
所以我们要使用Memcached,首先在服务端安装好Memcached,并运行Memcached,然后安装Memcache就能使用了。
安装说明:
需安装
- 服务端(memcached)
- 客户端(libmemcached)
- php的memcache扩展
安装服务端
brew install memcached
测试memcached安装是否成功
ls -al /usr/local/bin/mem*
启动memcached服务(关于各参数可见详细说明)
memcached -d
如果需要开机自启动,输入以下命令
ln -sfv /usr/local/opt/memcached/*.plist ~/Library/LaunchAgents
安装客户端
brew install libmemcached
php的memcache扩展
- 下载稳定版的memcache包
地址:http://pecl.php.net/package/memcache
- 解压
tar -xzf memcache-2.2.7.tgz
- 编译
$ cd memcache-2.2.7
$ phpize
$ ./configure --enable-memcache --with-php-config=/usr/local/opt/php54/bin/php-config --with-zlib-dir
$ sudo make & make install
注:如果有发生以下的问题(php7环境)
fatal error: 'ext/standard/php_smart_str.h' file not found
则
git clone https://github.com/php-memcached-dev/php-memcached.git
cd php-memcached/
git checkout php7
phpize
./configure --disable-memcached-sasl --with-libmemcached-die=/usr/local/libmemcached
make && make instal
可参考:http://www.cnblogs.com/zqifa/p/linux-php-2.html
安装完成之后
将路径设置在php.ini文件的extension_dir参数 (我这边默认的so文件是在 /usr/lib/php/extensions/no-debug-non-zts-20121212/)
php.ini(我这边地址是 /usr/local/etc/php/7.0/php.ini )添加参数:
extension_dir="/usr/local/Cellar/php70/7.0.14_7/lib/php/extensions/no-debug-non-zts-20151012/"
extension=memcached.so
- 重启php-fpm
$ killall php-fpm
$ /usr/local/opt/php54/sbin/php-fpm -D
重启nginx
$ nginx -s reload