Memcache是一個高效能的分布式的記憶體對象緩衝系統,通過在記憶體裡維護一個統一的巨大的hash表,它能夠用來儲存各種格式的資料,包括映像、視頻、檔案以及資料庫檢索的結果等。簡單的說就是將資料調用到記憶體中,然後從記憶體中讀取,從而大大提高讀取速度。
本篇主要簡述編譯php及其擴充memcache,在閱讀後面內容之前,建議先閱讀一下官方文檔(地址)。下面我們以php5.3為例。
一、編譯環境
根據你的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://snaps.php.net/
2、下載php sdk檔案,http://windows.php.net/downloads/php-sdk/
3、下載memcache擴充程式碼封裝,http://pecl.php.net/package/memcache
三、編譯工作
1、建立編譯目錄“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