關於 memcache 的介紹,這裡就不在多說了,讀者可以參考:memcached是什麼?memcache該何使用?
(1)安裝memcache首先你得下載兩個文件,memcached 的安裝文件和php所需要的 pecl 擴展 php_memcache.dll 文件,因為這裡是介紹在 windows 下面安裝 memcached ,所以你需要下載的是 memcached.exe 文件。 memcached.exe 具體下載地址為:http://code.jellycan.com/memcached/ ,這個頁面上你得下載那個名為memcached-1.2.6-win32-bin.zip的文件。至於 php_memcache.dll,這裡就不提供下載地址了,自己去百度搜吧,因為這個一定要和自己的php版本相同(文章下面列了幾個比較常見 php_memcache.dll 版本的下載地址)。
(2)以上所需工具准備完畢,那就可以開始安裝並調試了。首先安裝 memcache。
將下載的 memcache 文件包解壓放某個盤下面,比如在c:\memcached
在終端(即cmd命令界面)下輸入 "c:\memcached\memcached.exe -d install" 安裝
這個時候你可能不知道你安裝的 memcache 使用的是什麼端口,下面通過修改注冊表將端口修改為我們指定的端口。打開注冊表編輯器,找到 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\memcached Server 下面找到一個 ImagePath 的字符串項,雙擊該串,在該項目值後面追加寫入 -l 127.0.0.1 -m 45 -p 51321 (這裡的意思即訪問ip為:127.0.0.1 使用45M內存,51321為端口),修改完畢關閉注冊表編輯器。
接著命令界面裡輸入:"c:\memcached\memcached.exe -d start" 啟動 memcache 服務或者在計算機服務項裡面找到memcached服務,重新啟動。
以上操作完畢,讓我們來檢測一下緩存服務 memcache 是否成功安裝並運行了。繼續在終端輸入:"telnet 127.0.0.1 51321",輸入完畢可能什麼反應,接著輸入 stats ,如果出現一堆類似下面這樣的看懂或看不懂的英文,就說明 memcache 服務已經成功安裝並運行了。
STAT pid 5636
STAT uptime 936
STAT time 1344915126
STAT version 1.2.6
STAT pointer_size 32
STAT curr_items 0
STAT total_items 0
STAT bytes 0
STAT curr_connections 2
STAT total_connections 3
STAT connection_structures 3
STAT cmd_get 0
STAT cmd_set 0
STAT get_hits 0
STAT get_misses 0
STAT evictions 0
STAT bytes_read 19
STAT bytes_written 7
STAT limit_maxbytes 67108864
STAT threads 1
END
注意:如果你的是win 7系統,有可能會提示“'telnet' 不是內部或外部命令,也不是可運行的程序”類似的信息,經排查這是因為 Win7 默認沒有安裝telnet功能,所以你直接用telnet命令是用不了的,你可以去“控制面板”--》“程序”---》“打開或關閉Windows功能”,勾上“telnet客戶端”即可。
(3)配置PHP。將下載的 pecl 模塊包,解壓後將 php_memache.dll 放到 php 目錄的 ext 目錄下(提示:為了防止出現一些意外錯誤,最好下載和 php 版本一致的模塊包)。然後找到 php.ini 文件,在裡面添加一行:extension=php_memcache.dll,然後重啟 apache 服務器,至此 php 的 memcache 擴展包就已經安裝完了。
(4)測試 memcache 是否能在php環境下工作了。我們可以用如下一段代碼做測試:
$memcache_obj = new Memcache; $memcache_obj->connect('127.0.0.1', 51321); $memcache_obj->set('var_key', 'memcache 測試!',MEMCACHE_COMPRESSED, 50); echo $memcache_obj->get('var_key');
如果正常輸出 “memcache 測試!” 說明你已經順利的為你的php環境搭建好了memcache服務了。注意這裡可能會報“Class 'Memcache' not found in...”類的錯誤,這個經測試是因為擴展包和你的php環境不一致造成的,請重新下載一個和你的php環境一直的擴展包就行了。