linux上安裝memcached不算太困難。唯一讓本人感到困難的是 php7的memcache擴展安裝。真的蛋疼!
先說安裝服務端 memcached
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/libevent # ./configure make && make install
2. 編譯安裝memcached
wget http://memcached.org/latest cp latest memcached.tar.gz tar -zxvf memcached.tar.gz cd memcached ./configure -with-libevent=/usr/local/libevent # ./configure make && make install
3. 啟動memcached
/usr/local/memcached/bin/memcached -d -m 128 -l 127.0.0.1 -p 11211 -u root # (128為內存, 11211為端口,root為用戶組)
4. 開機/重啟后生效,編輯 /etc/rc.d/rc.local 文件,添加以下內容。
/usr/local/memcached/bin/memcached -d -m 128 -l 127.0.0.1 -p 11211 -u root
5. 查看是否啟動成功
ps aux|grep memcached
如圖則成功
-----------------------------------------------------------------------分割線-----------------------------------------------------------------------------------
下面則是php的擴展memcache安裝了。
用之前的php版本安裝是沒有問題,但是用了php7安裝 http://pecl.php.net/package/memcache 下的任一款memcache都會報錯
窮盡一切辦法之后發現了 Github的pecl-memcache分支版本
本地下載,https://github.com/websupport-sk/pecl-memcache/archive/php7.zip
1. rz命令 上傳至linux虛擬機上。
unzip pecl-memcache-php7.zip cd pecl-memcache-php7 /usr/local/php/bin/phpize ./configure --with-php-config=/usr/local/php/bin/php-config make && make install
2. 修改php.ini 加載Memcache組件
[memcache] extension_dir = "/usr/local/php70/lib/php/extensions/no-debug-non-zts-20151012/" extension = "memcache.so"
注!!!一定要確認有效的 php.ini的位置
查找php.ini位置的方法
1.寫一個測試文件,內容<?php phpinfo(); ?>,在第七八行左右,有“Loaded Configuration File”就標明了php.ini的位置。
2.沒指定php.ini或者找不到php.ini(none),php會按照默認配置運行的。
3. 重啟 php-fpm
kill -USR2 `cat /var/run/php-fpm.pid`