php7.0編譯memcached擴展

場景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配置文件加載便可

相關文章
相關標籤/搜索