場景php
系統自帶的memcache.so擴展只適用於系統自帶的php5.3,因爲生產環境的php7.0是本身編譯的,因此各類擴展也要從新編譯生成git
php的memcache客戶端擴展有兩種github
1.memcache擴展服務器
列表地址:http://pecl.php.net/package/memcachephp7
源碼包包直接下載地址:http://pecl.php.net/get/memcachememcached
這個最新的版本也是2013年的了,下載編譯了一下,報了一個 not found php_smart_str_public.h文件的錯誤,查看了一下 php安裝目錄下的 include/php/ext/standard 目錄,發現這個頭文件在php7.0中已經被更名爲php_smart_string_public.h。因而可知這個memcache的客戶端版本已太舊,不支持php7.0了.net
2.memcached擴展debug
列表地址:http://pecl.php.net/package/memcachedip
源碼包直接下載地址:http://pecl.php.net/get/memcachedget
此外還有一個git維護地址 https://github.com/php-memcached-dev/php-memcached
這個包最新版本是2017年11月份更新的,是支持php7.0的。
下載流程
git clone https://github.com/php-memcached-dev/php-memcached
或
wget http://pecl.php.net/get/memcached
解壓後將源碼放入 /root 下或者 /home/用戶目錄下
編譯流程
進入源碼目錄
#cd ~/php-memcached
調用phpize(根據實際phpize路徑)
#/usr/local/php7.0/bin/phpize
configure目錄
#./configure --with-php-config=/usr/local/php7.0/bin/php-config --with-zlib-dir
編譯 & 安裝
#make && make install
tips
由於memcached版本的擴展基於libmemcached,若是服務器上未安裝,編譯的時候會提示錯誤
解決方案就是yum安裝便可
yum install libmemcached
yum install libmemcached-devel
成功
打開 php安裝目錄/lib/php/extensions/no-debug-zts-*/便可看到memcached.so擴展
而後再php.ini配置文件加載便可