php7安裝memcache 和 memcached 擴展


php7安裝memcache 和 memcached 擴展

標簽(空格分隔): php


memcache和memcached區別

    memcache:http://pecl.php.net/package/memcache 
    memcached:http://pecl.php.net/package/memcached

    memcached 是高性能的分布式內存緩存服務器,而PHP memcache 和 memcached 都是 Memcached 服務器的 PHP 擴展。其中memcache 比 memcached 早出現,所以一些老的代碼可能還在用 memcache 擴展。memcached 后來出現,並且大部分框架都支持。
    memcache 是一個原生版本,完全是在 PHP 框架內開發的,支持 OO(面向對象) 和非 OO 兩套接口並存,而 memcached 是建立在 libmemcached 的基礎上的,只支持 OO 接口。這就意味着在安裝 memcache 擴展的時候不要求安裝其他的東西,但是在安裝 memcached 的時候會要求你安裝 libmemcached。別嫌麻煩!因為 libmemcached 是 memcache 的 C 客戶端,它具有低內存,線程安全等優點。據說新浪微博之前就全面將 PHP 的 memcache 替換成 PHP 的 memcached,在高並發下,穩定性果斷提高。
    比較尷尬的一點是 memcached 和 memcache 對應的服務端名字都是 memcached,大家使用 ps aux | grep memcache 就會發現守護進程的名字是 memcached(我的環境是 ubuntu16 LTS),其實后面的 d 可以理解為守護進程,因此網上有的人說 memcache 是客戶端, memcached 是服務端就是這個意思,所以不要將客戶端的 memcached 和服務端的 memcached 混淆了就好。

安裝memcached擴展

    1 選擇對應的tar包安裝   
    https://pecl.php.net/package/memcached
    
    tar -zxvf memcached-3.0.4.tgz
    
    memcached-3.0.4
    
    [phpize 和 php-config 要看自己的位置]
    
    /usr/local/php/bin/phpize
    
    ./configure --with-php-config=/usr/local/php/bin/php-config
    
    make && make install
    
    Installing shared extensions:/usr/local/php/lib/php/extensions/no-debug-non-zts-20170718/
    2 可能會出現的錯誤
    ![](https://img2018.cnblogs.com/blog/1458583/201811/1458583-20181122163300682-1894778112.png)


    需要安裝依賴   yum -y install libmemcached libmemcached-devel

安裝memcache擴展

1 https://pecl.php.net/package/memcache 
這個方式安裝會失敗: 貌似原因也是還不支持在 PHP7 下安裝 memcache 擴展

2 github搜索 並且代碼已經支持到 PHP7
git clone https://github.com/websupport-sk/pecl-memcache memcache

用 phpize 安裝,步驟和 memcached 一樣

cd memcache/

[phpize 和 php-config 要看自己的位置]

/usr/local/php/bin/phpize
    
./configure --with-php-config=/usr/local/php/bin/php-config
    
make && make install

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

修改php.ini

vim /usr/local/php/etc/php.ini

在文件最后添加

重啟: service php-pfm restart | service httpd restart
如果報錯:
添加.so的路徑 把 extension_dir ./ 改成 /usr/local/php/lib/php/extensions/no-debug-non-zts-20170718/


再次重啟

如果還不行 再次安裝 多試幾次!


免責聲明!

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



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