Mac下安裝php-memcached擴展


【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

 

https://blog.csdn.net/leiyu231/article/details/85316057


免責聲明!

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



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