標籤:
Memcache是一個高效能的分布式的記憶體對象緩衝系統,通過在記憶體裡維護一個統一的巨大的hash表,它能夠用來儲存各種格式的資料,包括映像、視頻、檔案以及資料庫檢索的結果等。簡單的說就是將資料調用到記憶體中,然後從記憶體中讀取,從而大大提高讀取速度。
本篇主要簡述編譯php及其擴充memcache,在閱讀後面內容之前,建議先閱讀一下官方文檔介紹的“從來源程式編譯”。下面我們以php-5.3.10為例。
一、編譯環境
根據你的php版本選擇相應的編譯器:
php 5.3-5.4 :Visual C++ 9.0(Visual Studio 2008)
php 5.5+ :Visual C++ 11.0(Visual Studio 2012)
如果是php5.3-5.4,還要下載並安裝Windows SDK 6.1()//用作後面執行命令
二、編譯檔案
1、下載php原始碼,http://php.net/releases/
2、下載php sdk檔案,http://windows.php.net/downloads/php-sdk/
3、下載memcache擴充程式碼封裝,http://pecl.php.net/package/memcache
4、下載完畢後一共有這些檔案
戳這裡一鍵打包下載http://pan.baidu.com/s/1pJ3esav
三、編譯工作
1、建立編譯目錄“C:\php_sdk” //在C盤下建立php_sdk目錄
2、解壓php-sdk-binary-tools-20110915.zip裡面的檔案到php_sdk目錄下
3、在開始菜單找到並開啟Windows SDK CMD Shell,然後執行
setenv /x86 /xp /release cd php_sdk bin\phpsdk_setvars.bat bin\phpsdk_buildtree.bat phpdev
執行後,目錄下會產生phpdev檔案夾
4、進入C:\php_sdk\phpdev\vc9\x86\,把deps-5.3-vc9-x86.7z解壓到該目錄下,覆蓋deps檔案夾。
5、把php原始碼也解壓到x86目錄下。
6、在x86目錄下建立pecl檔案夾,把memcache壓縮包內容解壓到pecl目錄,並把檔案夾名memcache-2.2.7改為memcache
7、在x86目錄下建立obj檔案夾,用於儲存編譯時間產生的檔案
8、執行以下命令,用於建立php編譯配置
cd phpdev\vc9\x86\php5.3-201308211030 buildconf configure --help >..\configure_help.txt configure --disable-all --enable-snapshot-build --enable-cli --enable-cgi --enable-memcache=shared --enable-object-out-dir=..\obj --enable-session
註:配置中的--enable-memcache=shared意思是 memcache 以 dll 形式產生,否則就和php整合在一起了。
如果提示bison.exe不存在,執行命令,再重新執行上面的操作
set path=%path%;C:\php_sdk\bin
9、編譯php,執行以下命令
nmake
10、如果想打包php,執行以下命令
nmake snap
編譯中需要一點時間,請耐心等待編譯。
到這裡,編譯工作應該結束了。可以在C:\php_sdk\phpdev\vc9\x86\obj\ReleaseTS\目錄中找到php_memcache.dll
註:本文參考http://blog.csdn.net/mycwq/article/details/10165955
windows 下編譯php擴充庫pecl裡的擴充memcache