【libmemcached安裝】
libmemcached可以通過直接下載后解壓也可以采用wget下載
先下載libmemcached:
方式一:libmemcached下載地址:https://launchpad.net/libmemcached/+download
方式二:wget https://launchpad.net/libmemcached/1.0/1.0.18/+download/libmemcached-1.0.18.tar.gz
解壓
mkdir -p /usr/local/libmemcached // 遇到權限問題 執行 sudo mkdir -p /usr/local/libmemcached // 輸入密碼后即可 tar zxvf libmemcached-1.0.18.tar.gz
進入解壓包,編譯
cd libmemcached-1.0.18 ./configure --prefix=/usr/local/libmemcached --with-memcached // 注意:--with-memcached這個選項一定要加上
安裝
make && make install
安裝遇到問題
(1)報錯1:編譯libmemcached時遇到下面錯誤
libmemcached/byteorder.cc:66:10: error: use of undeclared identifier 'ntohll' return ntohll(value); libmemcached/byteorder.cc:75:10: error: use of undeclared identifier 'htonll' return htonll(value);
2)報錯2:
clients/memflush.cc:42:19: error: comparison between pointer and integer ('char *' and 'int') if (opt_servers == false) ~~~~~~~~~~~ ^ ~~~~~ clients/memflush.cc:51:21: error: comparison between pointer and integer ('char *' and 'int') if (opt_servers == false) ~~~~~~~~~~~ ^ ~~~~~
可以按下面步驟修改即可
(1)編輯libmemcached/byteorder.cc文件
sudo vi libmemcached/byteorder.cc 在 #include "libmemcached/byteorder.h" 下面增加以下內容: #ifdef HAVE_SYS_TYPES_H #include <sys/types.h> #endif
(2)編輯clients/memflush.cc文件
sudo vi clients/memflush.cc 將兩處 if (opt_servers == false) 替換成 if (opt_servers == NULL)
(3)如果最后還是提示Permission denied問題,就直接設置安裝目前的權限
sudo chmod 777 -R [你自己的文件夾名]
【php-memcached安裝】
方式一 php-memcached下載地址:http://pecl.php.net/package/memcached
(PHP5.6選擇2.2.0版本,PHP7選擇3.X版本)
方式二 : wget https://pecl.php.net/get/memcached-3.1.3.tgz
解壓並安裝:
tar zxvf memcached-3.1.3.tar cd memcached-3.1.3 // 執行phpize命令生成configure建立php外掛模塊 /usr/local/Cellar/php/7.2.12_2/bin/phpize ./configure --with-php-config=/usr/local/Cellar/php/7.2.12_2/bin/php-config --with-libmemcached-dir=/usr/local/libmemcached make && make install
// 修改php.init增加如下代碼
#添加 extension=memcached.so