Memcache是一個高性能的分布式的內(nèi)存對象緩存系統(tǒng),通過在內(nèi)存里維護(hù)一個統(tǒng)一的巨大的hash表,它能夠用來存儲各種格式的數(shù)據(jù),包括圖像、視頻、文件以及數(shù)據(jù)庫檢索的結(jié)果等。簡單的說就是將數(shù)據(jù)調(diào)用到內(nèi)存中,然后從內(nèi)存中讀取,從而大大提高讀取速度。
本篇主要簡述編譯php及其擴(kuò)展memcache,在閱讀后面內(nèi)容之前,建議先閱讀一下官方文檔(地址)。下面我們以php5.3為例。
一、編譯環(huán)境
根據(jù)你的php版本選擇相應(yīng)的編譯器:
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擴(kuò)展代碼包,http://pecl.php.net/package/memcache
三、編譯工作
1、創(chuàng)建編譯目錄“C:/php_sdk”
2、解壓php-sdk-binary-tools-20110915.zip里面的文件到php_sdk目錄下
3、在開始菜單找到并打開Windows SDK CMD Shell,然后執(zhí)行
代碼如下:
setenv /x86 /xp /release
cd php_sdk
bin/phpsdk_setvars.bat
bin/phpsdk_buildtree.bat phpdev
執(zhí)行后,目錄下會生成phpdev文件夾
4、進(jìn)入C:/php_sdk/phpdev/vc9/x86/,把deps-5.3-vc9-x86.7z解壓到該目錄下,覆蓋deps文件夾。
5、把php源代碼也解壓到x86目錄下。
6、在x86目錄下創(chuàng)建pecl文件夾,把memcache壓縮包內(nèi)容解壓到pecl目錄,并把文件夾名memcache-2.2.7改為memcache
7、在x86目錄下創(chuàng)建obj文件夾,用于保存編譯時生成的文件
8、執(zhí)行以下命令,用于創(chuàng)建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不存在,執(zhí)行命令,再重新執(zhí)行上面的操作
代碼如下:
set path=%path%;C:/php_sdk/bin
9、編譯php,執(zhí)行以下命令
代碼如下:
nmake
10、如果想打包php,執(zhí)行以下命令
代碼如下:
nmake snap
到這里,編譯工作應(yīng)該結(jié)束了。可以在C:/php_sdk/phpdev/vc9/x86/obj/ReleaseTS/目錄中找到php_memcache.dll
新聞熱點
疑難解答
圖片精選