操作系統是win64位的,wampserver_X64_2.5.1455519534集成WAMP環境,php5.5.12,apache2.4.9
memcache和memcached的區別 在自己的新程序中打算全面應用memcached技術,這個很容易理解這是memcached是內存緩存,但是怎么還有memcache呢? 其實很簡單,memcache是php的一個擴展,用于php管理memcached,php-memcache.dll。 如果安裝了memcached不安裝擴展,那么php無法操控memcached,但是命令行使用起來沒有問題 如果安裝了memcache擴展但是沒有安裝memcached服務,那么這個就無法使用 只有同時安裝了memcached服務和memcache擴展才可以在PHP中使用memcached提高動態網站性能準備工作:
(1)Windows7為64位系統
(2)wampserver已安裝,且為64位。(安裝地址:http://www.wampserver.com/en/)
請選擇好php版本號,因為會涉及到memcache擴展文件的下載

(3)請先判斷好安裝的PHP是ts版本還是nts版本,判斷方法如下:
1)編寫phpinfo.php文件:
<?php
phpinfo();
?>
2)運行phpinfo.php文件,查看Thread Safety選項(這個選項就是用來查看是否是線程安全的);如果是enabled,則表示所安裝的PHP為ts版本的;否則就是nts版本的。
(
下載的memcache擴展文件為
)
(4)通過(2)(3)的下載和判斷,下載memcache擴展所需要的文件。下載地址為:http://pecl.php.net/package/memcache/3.0.8/windows (Note:PHP5.3和5.4版本,沒有64位的擴展文件下載)

(5)memcached 64位下載
(memcached-win64-1.4.4-14下載地址:http://download.csdn.net/download/zhaotengfei36520/8182503)
其它版本的memcached可參考
其他版本的memcached下載可查看:菜鳥教程
查看菜鳥教程發現,在 1.4.5 版本以前 memcached 可以作為一個服務安裝,而在 1.4.5 及之后的版本刪除了該功能。所以,1.4.5 版本以前和1.4.5 版本之后的安裝方法是不同的
做好準備工作,下面就開始安裝memcached-win64-1.4.4-14啦!
以WAMPSERVER2.5(64 BITS & PHP 5.5)為例:
(1)把下載好的memcache擴展壓縮包解壓,并將php_memcache.dll文件復制粘貼至php的擴展目錄(如何查找php擴展目錄:在phpinfo中查找extension_dir
)
(小提示:雖然壓縮包下載的php_memcache.dll文件為5.5.4.0版本,而php得版本為5.5.12.0版本,不會影響擴展的添加。只要是5.5版本下的即可)

(2)編輯php.ini(在phpinfo.php中查找Loaded Configuration File),一定要查看這個目錄找到這個目錄下再添加擴展

在php.ini中添加extension = php_memcache.dll
(3)安裝Memcached服務:
1)將下載好的 Memcached放置將要執行的目錄(任何目錄均可以,以G盤為例)
2)以管理員身份運行命令提示符,執行
G:/memcached.exe –d install
G:/memcached.exe –d start
完成以上工作后,重啟WAMPSERVER,在phpinfo.php中,查看是否已經安裝完成。如果出現以下內容,表示安裝成功:

(小提示:在擴展中,并不一定會顯示php_memcache,所以一定要查看phpinfo()中的內容。可能會在之后的擴展列表中顯示。主要以phpinfo()中的內容為準。)


=========== 代碼測試 =============
01 | $memcache = new Memcache; |
02 | $memcache->connect("localhost",11211); # You might need to set "localhost" to "127.0.0.1" |
03 |
04 | echo "Server's version: " . $memcache->getVersion() . "/n"; |
05 |
06 | $tmp_object = new stdClass; |
07 | $tmp_object->str_attr = "test"; |
08 | $tmp_object->int_attr = 123; |
09 |
10 | $memcache->set("key",$tmp_object,false,10); |
11 | echo "Store data in the cache (data will expire in 10 seconds)/n"; |
12 |
13 | echo "Data from the cache:/n"; |
14 | var_dump($memcache->get("key")); |
結果:
view sourcePRint?01 | ---------- PhpUnit ---------- |
02 | Server's version: 1.4.4-14-g9c660c0 |
03 | Store data in the cache (data will expire in 10 seconds) |
04 | Data from the cache: |
05 | object(stdClass)#3 (2) { |
06 | ["str_attr"]=> |
07 | string(4) "test" |
08 | ["int_attr"]=> |
09 | int(123) |
10 | } |
11 |
12 | Output completed (2 sec consumed) - Normal Termination |
如果安裝失敗,原因可能有:
第一點:是wamp集成環境,Server Software:Apache/2.4.9 (Win32) PHP/5.5.12?在window7- 64位 安裝的wamp是32位的,所以擴展的dll文件不能是64位的,正確的dll文件是X86的dll文件。
擴展文件php_memcache.dll可在該地址選擇:
PHP5.2、5.3、5.4、5.5、5.6的php memcache dll擴展
http://download.csdn.net/download/mad_geek/9598516
選擇時注意區分32位和64位 以及你php的 nts 和ts ,copy到php目錄下的ext目錄 然后修改php.ini。
第二點:(關鍵)由于是wamp集成的開發環境(例如WampServer),修改了php下的php.ini文件安裝不成功,要修改apache下的php.ini安裝成功。
新聞熱點
疑難解答
圖片精選