如何在windows系統上讓php支持memcached呢?php
第一步:安裝 Memcached 服務
第二步:讓php加載memcached.dll擴展html
如下資料參考:
一、Installing Memcached for PHP 5.3 on Windows 7
二、Windows 下Memcache安裝配置 + 沒有成功加載memcachedweb
詳情步驟以下:
算法
第一步:安裝 Memcached 服務
shell
一、下載 Memcached Win32 (點我下載)數據庫
二、解壓下載的文件到自定義目錄,例如(C:\webserver\memcached
)
解壓後該目錄下僅有一個 memcached.exe
在該目錄下windows
三、使用管理員權限運行命令行(cmd)緩存
四、安裝安全
memcached -d install
提示:若是提示 MSVCP71.dll 不存在的錯誤,則訪問這裏(戳我)
服務器
五、啓動
memcached -d start
六、檢查安裝路徑(能夠不理會)
wmic process get description, executablepath | findstr memcached.exe
顯示:memcached.exe C:\webserver\memcached\memcached.exe
到這裏,memcached 服務安裝完畢
第二步:讓php加載memcached.dll擴展
一、下載VC9版本的memcached.dll
線程安全版
http://downloads.php.net/pierre/php_memcache-2.2.6-5.3-vc9-x86.zip
非線程安全版 fastcgi運行php的方式
http://downloads.php.net/pierre/php_memcache-2.2.6-5.3-nts-vc9-x86.zip
二、解壓縮獲得 php_memcache.dll
,並拷貝到php的擴展目錄 C:\webserver\php5.3nts\ext
三、編輯 php.ini
,在其底部加入
[memcache] extension=php_memcache.dll ;一個高性能的分佈式的內存對象緩存系統,經過在內存裏維護一個統一的巨大的hash表, ;它可以用來存儲各類格式的數據,包括圖像、視頻、文件以及數據庫檢索的結果等。 ;是否在遇到錯誤時透明地向其餘服務器進行故障轉移。 memcache.allow_failover = 0 ;接受和發送數據時最多嘗試多少個服務器,只在打開memcache.allow_failover時有效。 memcache.max_failover_attempts = 20 ;數據將按照此值設定的塊大小進行轉移。此值越小所需的額外網絡傳輸越多。 ;若是發現沒法解釋的速度下降,能夠嘗試將此值增長到32768。 memcache.chunk_size = 8192 ;鏈接到memcached服務器時使用的默認TCP端口。 memcache.default_port = 11211 ;控制將key映射到server的策略。默認值"standard"表示使用先前版本的老hash策略。 ;設爲"consistent"能夠容許在鏈接池中添加/刪除服務器時沒必要從新計算key與server之間的映射關係。 memcache.hash_strategy = "consistent" ;控制將key映射到server的散列函數。默認值"crc32"使用CRC32算法,而"fnv"則表示使用FNV-1a算法。 ;FNV-1a比CRC32速度稍低,可是散列效果更好。 memcache.hash_function = "crc32" ;如下2個設置見上上面的[session] ;當值爲memcache時標記使用memcache做爲session處理器 ;session.save_handler = "files" ;定義用於通話存儲的各服務器連接的分隔符號,例如:「tcp://host1:11211, tcp://host2:11211」 ;每服務器個連接能夠包含被接受於該服務器的參數,比較相似使用 Memcache::addServer() 來添加的服務器 ;例如:「tcp://host1:11211?persistent=1&weight=1&timeout=1& amp;retry_interval=15」 ;session.save_path = ""
四、重啓IIS(命令行中運行)
iisreset /restart
至此,memcached配置完成