在windowsnt上實(shí)現(xiàn)cgi
出處:未知
作者:黃小景
World Wide Web的好處之一是能與Internet上的用戶交互,以獲得和提供不同的信息。由于這種信息的動(dòng)態(tài)本質(zhì),僅有靜態(tài)的HTML頁(yè)面是不夠的,還需要有一種方法來(lái)向訪問(wèn)Web站點(diǎn)以獲取所需信息的用戶顯示動(dòng)態(tài)信息。CGI能滿足你這種對(duì)動(dòng)態(tài)信息的需求。CGI代表CommonGateway Interface(公共網(wǎng)關(guān)接口)。在WWW網(wǎng)站中的反饋表單、E-mail表單、數(shù)據(jù)庫(kù)查詢接口、Web頁(yè)面計(jì)數(shù)器、搜索工具,聊天室、電子論壇等常見(jiàn)的應(yīng)用都是CGI程序。
CGI程序又叫做CGI腳本(script),幾乎任何一種編程語(yǔ)言都可以用來(lái)寫(xiě)CGI腳本,常用的有C/C++、Visual Basic、Perl、UNIXShell等,其中功能最強(qiáng)大、應(yīng)用最廣的是Perl。用Perl寫(xiě)的CGI腳本叫perlscript,一般以.pl為后綴。
CGI程序是駐留于網(wǎng)絡(luò)服務(wù)器上的,目前非常流行的網(wǎng)絡(luò)服務(wù)器平臺(tái)是Windows NT4.0,采用的服務(wù)器軟件是IIS(InternetInformation Server),Windows NT+I(xiàn)IS是當(dāng)前很流行的Web服務(wù)器環(huán)境。
本文主要討論在Windows NT上調(diào)試和實(shí)現(xiàn)CGI/ Perl script。
因?yàn)镃GI程序能實(shí)現(xiàn)客戶端與服務(wù)器之間的信息交流,這同時(shí)也帶來(lái)了性問(wèn)題。為了便于統(tǒng)一管理,一般將CGI腳本放置于系統(tǒng)的cgi-bin目錄下,此目錄對(duì)于普通用戶只有調(diào)用執(zhí)行的權(quán)限,目錄權(quán)限由服務(wù)器管理員設(shè)置。在Windwos NT+I(xiàn)IS系統(tǒng)中,cgi-bin目錄一般在安裝IIS時(shí)自動(dòng)建立了,它的位置一般在c:inetpubwwwrootwelcomecgi-bin,這個(gè)目錄是在Internetinformation sevice manager(IIS的一個(gè)功能模塊)中是已經(jīng)登記好的,如果沒(méi)有這個(gè)目錄,需進(jìn)行手工登記,可按如下步驟進(jìn)行:
·啟動(dòng)Internet Service Manager。
·選擇WWW信息發(fā)布服務(wù),雙擊或使用鼠標(biāo)右鍵選擇ServiceProperties。
·在WWW信息發(fā)布服務(wù)屬性(Publishing Service Properties)
窗口中選擇Directories子窗口。
·用鼠標(biāo)點(diǎn)擊Add按鈕,打開(kāi)目錄屬性(Directory Properties)
對(duì)話框。
·在目錄屬性(Directory Properties)對(duì)話框的欄Directory用鍵盤(pán)輸入需建立目錄映射的目錄路徑(c:inetpubwwwrootwelcomecgi-bin),選中Visual Directory在別名(alias)中鍵入cgi-bin,并選中Access中的Execute復(fù)選框,確定(ok)。
目錄映射建立好以后,將寫(xiě)好的script.pl腳本復(fù)制到:
inetpubwwwrootwelcomeegi-bin目錄中,這樣當(dāng)使用http://web.site.name/cgi-bin/script.pl的URL時(shí),可以在瀏覽器上調(diào)用服務(wù)器http://web.site.name上的c:inetpubwwwrootwelcomecgi-bin目錄下的script.pl腳本。
因?yàn)閟cript.pl是由Perl語(yǔ)言寫(xiě)成的,還必須在Windows NT上安裝Perl語(yǔ)言腳本解釋器perl.exe,這是一個(gè)免費(fèi)的軟件包,可以從網(wǎng)站http://www.perl.com處下載,下載過(guò)來(lái)的是一個(gè)自解壓的壓縮文件,將文件解壓縮后運(yùn)行其中的install.bat文件,會(huì)自動(dòng)將perl解釋器安裝到c:perl目錄下,perl.exe在c:perlbin目錄下。這時(shí)對(duì)注冊(cè)表的修改應(yīng)已自動(dòng)完成,但有時(shí)也可能需要手工修改建立腳本映射。方法如下:
·打開(kāi)Windows NT中的regedt32.exe文件。
·進(jìn)入注冊(cè)表目錄hkey-local-machinesystemcurrentcontrolsetservicesw3svcparametersscriptmap,查看是否有鍵值.pl:REG_SZ:c:perlbinpinperl.exe%s%s,如果沒(méi)有則需手工添加。打開(kāi)regedt32.exe的edit菜單,選擇add valve,在addvalve對(duì)話框中的數(shù)據(jù)類(lèi)型選為REG_SZ,并輸入需建立腳本映射的文件后綴.pl,在提示輸入鍵值字符串時(shí)輸入c:perlbinperl.exe%s%s,確定后重新啟動(dòng)www服務(wù)器即可。
CGI腳本直接拷入cgi-bin目錄即可,需要注意的一點(diǎn)是,在perl腳本的行必須注明perl解釋器的位置,有時(shí)還需加上腳本的名稱(chēng)(如#!/perl/bin/perl.exe script.pl)。