memcached的安裝以及php兩個擴展軟件安裝(memcache、memcached)


百度雲安裝包:http://pan.baidu.com/s/1pKZeDwn  k3ap

1、安裝memcached

  Memcached是基於libevent的事件處理,所以它的安裝依賴libevent。因此我們首先需要將libevent安裝好,再進行安裝memcached。

  Libevent官網:http://libevent.org/

  Memcached官網:http://www.danga.com/memcached

  安裝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

 

試運行:

# /usr/local/bin/memcached -u 用戶名

#ps –A|grep memcached       (查看是否有memcached進程)

 

具體啟動參數以及指令可以參考:http://www.cnblogs.com/phpstudy2015-6/p/6653199.html

 

2、安裝PHP中的memcache擴展

  官網下載:http://pecl.php.net/package/memcache

  安裝:

# 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

  測試:

  1、建立一個test.php文件,能夠生成memcache對象則表示安裝擴展成功

<?php
    $m=new memcache();
    Var_dump($m);
?>

 

   2、查看phpinfo();

 

3、安裝libmemcached

  官網下載: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】

  安裝要注意的問題:

  1、最好能夠設置安裝目錄,--prefix

  【以下兩個來自網上,我安裝時沒有遇到這兩個問題】

  2、安裝過程中不要忘了,–with-memcached,不然會提示你

checking for memcached… no
configure: error: “could not find memcached binary”

  3、你的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也就沒什么意思了。

 

4、安裝PHP中的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的數據結構存儲為緊密的二進制形式,在時間和空間上都有所改進,可以提高性能。要想帶上這個參數那么就需要安裝它 。安裝方法如下

查看:

 

5、安裝zlib與igbinary

  官方下載: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

 

 

(以上是自己的一些見解,若有不足或者錯誤的地方請各位指出)

作者:那一葉隨風

 聲明:本博客文章為原創,只代表本人在工作學習中某一時間內總結的觀點或結論。轉載時請在文章頁面明顯位置給出原文鏈接


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM