php擴展memcache和memcached安裝

首先簡單介紹下memcache和memcached的區別

兩個不同版本的php的memcached的客戶端
new memcache是pecl擴展庫版本
new memcached是libmemcached版本

memcache最早是在2004年2月開發的,最後更新是在2013年4月,而memcached最早是在2009年1月開發的,最後更新是在2014年1月更新的。所以memcache的歷史比memcached早。

在安裝memcache擴展的時候並不要求安裝其他東東,但是在安裝memcached的時候會要求你安裝libmemcached,問題來了,libmemcached是memcache的C客戶端,它具有的優點是低內存,線程安全等特點。


安裝PHP的Memcached擴展

1.下載文件:
    https://launchpad.net/libmemcached/+download, 下載libmemcached依賴庫
    http://pecl.php.net/package/memcached, 下載php memcached擴展
2. 解壓
    tar zxvf libmemcached-0.44.tar.gz
    tar zxvf memcached-1.0.2.tgz
3. 編譯libmemcached
    cd libmemcached-0.44
    ./configure --prefix=/usr/local/libmemcached
    make && make install

4. 編譯memcached擴展
    cd memcached-1.0.2
    /usr/local/php/bin/php/phpize
    ./configur-with-php-config=/usr/local/php/bin/php-config --with-libmemcached-dir=/usr/local/libmemcached --enable-memcached #與安裝libmemcached時指定的prefix一致

    make && make install

5. 安裝擴展
    vim /usr/local/php/bin/php.ini 
    #加入一行: extersion=memcached.so
6. 重啓php服務
7. 驗證(查看phpinfo)

memcached
memcached support    enabled
Version     1.0.2
libmemcached version     0.44
Session support     yes
igbinary support     no

###如果在添加擴展so文件時,直接修改php.ini,那麼可能會出現下面的錯誤:
/usr/lib/php/modules/memcached.so: undefined symbol: php_json_encode in Unknown on line 0
這個錯誤是因爲在 memcached.so 加載之前必須加載 json.so ,而json.so是在/etc/php.d/json.ini中加載,這樣會導致json.so在memcached.so之後加載;可以刪除/etc /php.d/json.ini文件,而在php.ini中直接添加extensino=json.so來解決(添加在memcached.so之前)


安裝PHP的Memcache擴展
1.在http://pecl.php.net/package/memcache 選擇相應想要下載的memcache版本。
2.安裝PHP的memcache擴展

tar zxf memcache-3.0.6.tgz 

cd memcache-3.0.6

/usr/local/php/bin/phpize

 ./configure --enable-memcache=/usr/local/memcache --with-php-config=/usr/local/php/bin/php-config 

make && make install

3.上述安裝完後會有類似這樣的提示:

Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-2007xxxx/

4.把php.ini中的extension_dir = “./”修改爲

extension_dir = “/usr/local/php/lib/php/extensions/no-debug-non-zts-2007xxxx/”

添加一行來載入memcache擴展:extension=memcache.so

5.重啓apache,service httpd restart

測試,用phpinfo查看



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章