這幾天開發PHP Memcache遇到了這個奇葩的問題。Memcache環境安裝成功但是運行代碼總是報錯
$mem = new Memcache();
$mem->connect('127.0.0.1',11211);
$mem->set("foo","3",0,10);
echo $mem->get("foo");
運行提示PHP Fatal error: Class ‘Memcache’ not found in /Users/xxxxxxxxx/demo/index.php on line 9
最後動用百度、google和自己各種實驗終於找到了問題的原因:
代碼運行中沒有找到對應的memcache.so文件導致
解決方法
1、安裝memcache
brew search memcache
找到對應自己電腦上安裝php版本對應的memcache(注意:不是memcached)
使用brew安裝
brew install php56-memcache
安裝完成後會查看php56-memcache的安裝目錄
2、配置php.ini
在php.ini最後添加
extension_dir = /usr/local/Cellar/php56-memcache/2.2.7
extension = memcached.so
最後重新運行,你會發現神奇的一幕:運行成功