您好,登錄后才能下訂單哦!
windows環(huán)境下使用apxs編譯添加apache模塊
簡介說明:本文使用mod_limitipconn模塊為例。
環(huán)境:
windows7 x86系統(tǒng)
apache 2.4.18
目標(biāo):
在windows環(huán)境下,利用mod_limitipconn0.24源碼、apxs為apache2.4.18添加mod_limitipconn模塊。
分析:
limitipconn模塊最新版已經(jīng)支持apache2.4了。但是沒有編譯好的對(duì)應(yīng)版本。因此需要自己動(dòng)手編譯模塊。在windows下要實(shí)現(xiàn)這個(gè)目標(biāo),需要安裝以下幾個(gè)軟件:apxs(windows版)、perl(windows版本的,這是為了可以安裝apxs)、vc++6.0(要安裝版的。這個(gè)是apxs編譯c源碼模塊調(diào)用使用的。也可以使用其他的軟件)。
下載地址:
apxs
http://www.apachelounge.com/download/additional/
perl(ActivePerl )
http://www.activestate.com/activeperl/downloads
vc++6.0
要安裝版。綠色版編譯時(shí)出錯(cuò)。
步驟:
安裝perl(ActivePerl),直接默認(rèn)安裝就好。安裝完成請(qǐng)確認(rèn)windows環(huán)境變量的path是否添加了perl的文位置。沒有自動(dòng)添加,請(qǐng)手工追加。如圖:
安裝vc++6.0,這個(gè)一定使用安裝版的,否則編譯時(shí)會(huì)報(bào)錯(cuò)。我的安裝目錄:D:\Program Files\Microsoft Visual Studio,安裝完成確認(rèn)D:\Program Files\Microsoft Visual Studio\VC98\Bin\cl.exe,雙擊是否報(bào)錯(cuò)。(若報(bào)錯(cuò),請(qǐng)根據(jù)報(bào)錯(cuò)信息修復(fù)。我的報(bào)錯(cuò):mspdb60.dll文件丟失,下載該文件放到cl.exe所在目錄)。并把“D:\Program Files\Microsoft Visual Studio\VC98\Bin\”添加到環(huán)境變量path中。如圖:
安裝apxs:
首先說明:apache安裝目錄:D:\wamp\bin\apache\apache2.4.18\
運(yùn)行windows的命令提示符(即cmd),并進(jìn)入apxs安裝包文件所在位置。運(yùn)行以下命令:“perl Configure.pl --with-apache2=D:\wamp\bin\apache\apache2.4.18\ --with-apache-prog=httpd.exe”。如圖:
注:會(huì)生成D:\wamp\bin\apache\apache2.4.18\build\config_vars.mk文件和D:\wamp\bin\apache\apache2.4.18\bin\apxs.bat文件。
修改D:\wamp\bin\apache\apache2.4.18\build\config_vars.mk,效果如下:
CC = cl
LD = link
CPP = cl -nologo -E
LDFLAGS = kernel32.lib ws2_32.lib apr-1.lib aprutil-1.lib libapr-1.lib libapriconv-1.lib libaprutil-1.lib libhttpd.lib mod_dav.lib xml.lib /nologo /subsystem:windows /dll /machine:I386 /libpath:"D:\wamp\bin\apache\APACHE~1.18\lib"
注:cl、link是調(diào)用D:\Program Files\Microsoft Visual Studio\VC98\Bin\下的cl.exe、link.exe。其中LDFLAGS=...”D:\wamp\bin\apache\APACHE~1.18\lib”采用默認(rèn)的就可以(”D:\wamp\bin\apache\APACHE~1.18\lib”是我的默認(rèn)的。其實(shí)就是apache安裝目錄下的lib文件夾的目錄)。若LDFLAGS項(xiàng)目沒有更改編譯模塊時(shí)會(huì)報(bào)錯(cuò)。
在命令提示符中,運(yùn)行“VCVARS32”,如圖:
在windows環(huán)境變量中path,追加D:\wamp\bin\apache\apache2.4.18\bin\,如圖:
在命令提示符中進(jìn)入mod_limipiconn源碼所在目錄,并運(yùn)行如下命令:
apxs -i -c -a mod_limitipconn.c
如圖:
重要說明:
會(huì)在D:\wamp\bin\apache\apache2.4.18\lib\生成mod_limitipconn.lib文件。
會(huì)在D:\wamp\bin\apache\apache2.4.18\modules\生成mod_limitipconn.so文件。
每次追加windows環(huán)境變量path下的內(nèi)容,需要重新運(yùn)行命令提示符才能生效(或者說才能在命令提示符中應(yīng)用)。
編譯時(shí)提示“windows.h”相關(guān)錯(cuò)誤,請(qǐng)檢查D:\wamp\bin\apache\apache2.4.18\build\config_vars.mk文件中的LDFLAGS是否修改,若已經(jīng)修改,請(qǐng)使用安裝版的vc++6.0。
涉及的文件位置羅列:
apache2.4.18安裝位置:D:\wamp\bin\apache\apache2.4.18、
vc++6.0安裝位置:D:\Program Files\Microsoft Visual Studio
cl.exe、link.exe及VCVARS32 .bat所在位置:D:\Program Files\Microsoft Visual Studio\VC98\Bin\
apxs安裝后所在位置:D:\wamp\bin\apache\apache2.4.18\bin\
config_vars.mk所在位置:D:\wamp\bin\apache\apache2.4.18\build\config_vars.mk
perl安裝位置:C:\Perl\
mod_limitipconn源碼所在位置:D:\mod_limitipconn\
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。