记录安装memcached服务,以及相应的PHP memcache扩展

1、先安装memcached服务

1.1、安装libevent

下载包
$tar -zxvf libevent-2.1.8-stable.tar.gz
$cd libevent-2.1.8
$./configure --prefix=/usr/local
$make && sudo make install

注:上面的prefix是不是就是导致后面的坑的原因?默认是装在哪个目录?

还要安转一个libmemcache库,但是我忘记是第一步还是第二步需要这个了,好像是第二步安装PHP扩展需要先安装这个库,安装方法跟安装libevent一样。

1.2、安装memcached

下载包
$tar -zxvf ...
$cd ...
$./configure --prefix=/usr/local/memcached --with-libevent=/usr/local/bin
$make && sudo make install

坑:上面的--with-libevent=/usr/local/bin非常重要,不然之后memcached服务启动后,只要连接就出错。因为他默认搜索libevent的路径是/usr/bin
启动服务:

$/usr/local/memcached/bin/memcached -d -m 128 -u root

1.3添加自启动
/etc/systemd/system下创建memcached.service文件,输入以下内容:

[Unit]
Description=Memcached
Before=httpd.service
After=network.target

[Service]
Type=simple
ExecStart=/usr/local/memcached/bin/memcached -u root -m 128

[Install]
WantedBy=multi-user.target

然后

$sudo systemctl start memcached.service

2、安装相应的PHP memcache扩展

注:PHP有两个memcache扩展,分别为:memcache和memcached,注意最后一个字母d。。。
由于我跟着书来,所以选择安装memcache。但是memcache貌似不支持PHP7,所以在网上找了个非官方修改过的,可以支持php7的。

$git clone https://github.com/websupport-sk/pecl-memcache memcache
$cd memcache
$phpize
$./configure --enable-memcache --with-php-config=/usr/local/php/bin/php-config --with-zlib-dir
$make && sudo make install

安装成功的话,会提示你memcache.so文件的位置,然后把他添加到php.ini

[Memcache]
extension=/usr/local/php/lib/php/extensions/no-debug-non-zts-20160303/memcache.so

重启php-fpm服务。
查看phpinfo中有没有安装成功
PHP中测试:

connect('127.0.0.1');
$mc->set('key', 'value', 0, 10);
echo $mc->get('key');

输出value表示大功告成!

参考:
1、Memcached笔记——(一)安装&常规错误&监控
2、PHP7 下安装 memcache 和 memcached 扩展
3、PHP核心技术与最佳实践

你可能感兴趣的:(记录安装memcached服务,以及相应的PHP memcache扩展)