百度雲安裝包:http://pan.baidu.com/s/1pKZeDwn k3apphp
Memcached是基於libevent的事件處理,因此它的安裝依賴libevent。所以咱們首先須要將libevent安裝好,再進行安裝memcached。html
Libevent官網:http://libevent.org/c++
Memcached官網:http://www.danga.com/memcachedapache
安裝libevent:緩存
#tar –zxvf libevent-1.4.9-stable.tar.gz #cd libevent-1.4.9-stable #./configue --prefix=/usr #make&make install
安裝memcached:安全
#tar –zxvf memcached-1.4.25.tar.gz #cd memcached-1.4.25 #./configue --with-libevent=/usr --prefix=/usr/local #make&make install
試運行:session
# /usr/local/bin/memcached -u 用戶名 #ps –A|grep memcached (查看是否有memcached進程)
具體啓動參數以及指令能夠參考:http://www.cnblogs.com/phpstudy2015-6/p/6653199.html數據結構
官網下載:http://pecl.php.net/package/memcache併發
安裝:memcached
# tar zxvf memcache-2.2.4.tgz # cd memcache-2.2.4 cd # /usr/local/php/bin/phpize # ./configure --with-php-config=/usr/local/php/bin/php-config #make&make install
配置:
(生成的.so擴展文件)
# ls -l /usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/memcache.so # vi /usr/local/php/lib/php.ini
添加extension = memcache.so
保存,重啓apache
測試:
一、創建一個test.php文件,可以生成memcache對象則表示安裝擴展成功
<?php $m=new memcache(); Var_dump($m); ?>
二、查看phpinfo();
官網下載:https://launchpad.net/libmemcached/+download
簡述軟件:
libmemcached是memcached的C客戶端,它具備的優勢是低內存,線程安全等特色。
其中libmemcached版本1.0.9往上須要使用跟高級的gcc編譯安裝(它依賴更高級版本gcc的庫)
倘若gcc版本太低則:
yum install gcc44 gcc44-c++ libstdc++44-devel
安裝過程:
# tar zxvf libmemcached-1.0.18.tar.gz # cd libmemcached-1.0.18 #./configure --prefix=/usr/local/libmemcached --with-memcached #make && make install
【通常來講,gcc版本ok,安裝就能ok】
安裝要注意的問題:
一、最好可以設置安裝目錄,--prefix
【如下兩個來自網上,我安裝時沒有遇到這兩個問題】
二、安裝過程當中不要忘了,–with-memcached,否則會提示你
checking for memcached… no
configure: error: 「could not find memcached binary」
三、你的memcached是否是1.2.4以上的,若是不是會提示你
clients/ms_thread.o: In function `ms_setup_thread’:
/home/zhangy/libmemcached-0.42/clients/ms_thread.c:225: undefined reference to `__sync_fetch_and_add_4′
clients/ms_thread.o:/home/zhangy/libmemcached-0.42/clients/ms_thread.c:196: more undefined references to `__sync_fetch_and_add_4′ follow
collect2: ld returned 1 exit status
make[2]: *** [clients/memslap] Error 1
make[2]: Leaving directory `/home/zhangy/libmemcached-0.42′
解決辦法是–disable-64bit CFLAGS=」-O3 -march=i686″,若是不用這個64位的long型數據,我想php擴展memcached,memcache也就沒什麼區別了,裝memcached也就沒什麼意思了。
memcached的1.2.4及以上增長了CAS(Check and Set)協議,對於同一key的多進行程的併發處理問題。php的擴展memcache,不支持cas,因此咱們要裝memcached擴展,memcached擴展是基於libmemcached,因此要先安裝libmemcached。
php中的memcache擴展與memcached擴展相對比,memcache擴展已經中止了維護且功能相對較少;而memcached擴展一直有維護更新,功能強大。
官網下載:http://pecl.php.net/package/memcached
【安裝memcached擴展注意】
若是libmemcached被安裝在一個非標準路徑,使用--with-libmemcached-dir=DIR 來指定路徑,DIR就是libmemcached安裝時的prefix參數。這個路徑須要包含文件include/libmemcached/memcached.h。
若是要支持壓縮就須要zlib。對於非標準安裝的zlib庫,使用--with-zlib-dir=DIR 來指定zlib安裝路徑,DIR就是zib安裝時的prefix參數
session處理器的支持默認是開啓的。若是要關閉它,使用選項--disable-memcached-session 。
# tar -zxvf memcached-2.2.0.tgz # cd memcached-2.2.0 # /usr/local/php/bin/phpize #./configure --enable-memcached --with-php-config=/usr/local/php/bin/php-config --with-libmemcached-dir=/usr/local/libmemcached --with-memcached --with-zlib-dir=/usr/local/zlib --enable-memcached-igbinary --disable-memcahed-sasl
# make && make install
【注意】上面的編譯時:
「--with-zlib-dir=/usr/local/zlib」:表示在緩存數據時用到壓縮函數,若是不須要壓縮的話那就不須要安裝了。安裝方法以下
「--enable-memcached-igbinary」:igbinary是一個序列化工具,它將php的數據結構存儲爲緊密的二進制形式,在時間和空間上都有所改進,能夠提升性能。要想帶上這個參數那麼就須要安裝它 。安裝方法以下
查看:
官方下載:http://www.zlib.net (zlib)
http://pecl.php.net/package/igbinary (igbinary)
【安裝zlib】
# tar -xvzf zlib-1.2.5.tar.gz # cd zlib-1.2.5.tar.gz # ./configure --prefix=/usr/local/zlib # make && make install
【安裝igbinary擴展】
igbinary是php中的一個擴展
# tar –zxvf igbinary-1.1.1.tgz # cd igbinary-1.1.1 # /usr/lcoal/php/bin/phpize # ./configure # make && make install
(以上是本身的一些看法,如有不足或者錯誤的地方請各位指出)
做者:那一葉隨風
聲明:本博客文章爲原創,只表明本人在工做學習中某一時間內總結的觀點或結論。轉載時請在文章頁面明顯位置給出原文連接