在下管理服務器和使用ASP、CGI、PHP程序已經有幾個月,我發現有好多的網友為了調試ASP、CGI、PHP+MySql程序而廢盡心思,本機上不能調試,只好上網調試,結束冤枉了不少的人民幣,我當初也是如此,F在我把自己的經驗寫出來貢獻給大家。 本文主要針對PWS和IIS5.0進行說明,ASP程序在PWS和IIS5.0的環境下都支持,對于Uinx下的APACHE服務器軟件我沒有用過,在此不作討論。
一、PWS下配置ActivePerl,使PWS支持CGI程序。
1.在Windows98下安裝PWS4.0(Microsoft Personal Web Server 4.0 在Windows98系統光盤的add-ons目錄下)。
2.下載APi522e.exe(Windows98下建議用這個),下載地址為:
http://www.cgiunion.net/perlsoft/APi522e.exe 、 http://www.activestate.com/ActivePerl/download/Api522e.exe 或者是 http://www.fykx.net/download/cgi/api522e.exe
3.安裝APi522e.exe,建議安裝在C:\USR目錄下,因為每個CGI程序文件第一行都要申明CGI解釋程序的路徑(#!/usr/bin/perl)。
<IMG border=0 SRC=http://www.y666.net/rj1/00000001/001.jpg width="476" height="354">
4.運行regedit (需要重新啟動計算機才能生效) 找到: HKEY_LOCAL_MACHINE\System\Currentcontrlset \Services\W3svc\Parameters\ScriptMap\ 目錄 增加以下鍵值: 鍵名: ".cgi" 鍵值: "C:\USR\BIN\perl.exe %s %s" 鍵名: ".pl" 鍵值: "C:\USR\BIN\perl.exe %s %s"
<IMG border=0 SRC=http://www.y666.net/rj1/00000001/002.jpg width="400" height="278">
5.為PWS添加虛擬目錄(如下圖),目錄別名為:CGI-BIN,把訪問屬性設為:執行,目錄位置為本地硬盤的任何目錄(CGI程序就存放在這個目錄中)。
<IMG border=0 SRC=http://www.y666.net/rj1/00000001/003.jpg width="496" height="347">
6.編寫測試程序: 文件test.cgi放在CGI-BIN這個目錄下,代碼如下 #!/usr/bin/perl print "Content-type:text/html\n\n"; print "<TITLE>這是我的第一個程序</TITLE>"; print "哈!哈!哈!我成功啦。!"; 在瀏覽器地址欄中鍵入http://127.0.0.1/cgi-bin/test.cgi 如果在瀏覽器中顯示:哈!哈!哈!我成功啦。。∧憔统晒α恕
7.有關出現錯誤文題的解決,以調試YuziBBS3000為例,把配置文件SETUP.CGI按要求設置好后開始運行,結果
出現如下錯誤: CGI Error The specified CGI application misbehaved by not returning a complete set of HTTP headers. The
headers it did return are:
Can't locate setup.cgi in @INC (@INC contains: C:/usr/lib C:/usr/site/lib .) at
C:\Inetpub\wwwroot\cgi-bin\bbs3000\bbs.cgi line 9.
上一段的中文意思為: “CGI 錯誤 指定的 CGI 應用程序因為沒有返回完整的 HTTP 標題而運行不正常。它返回的標題是:”
經過分析bbs.cgi程序代碼,發現程序開始部分有require "setup.cgi";這么一句,這一句是程序對setup.cgi 配置文件發出請求,這種情況在Unix系統下不會出現錯誤,在Win98和NT系統下必須寫明絕對路徑,把這一句改
為:require "C:/Inetpub/wwwroot/cgi-bin/bbs3000/setup.cgi";再也不會出現錯誤,其他CGI文件也是如此。
二、IIS5.0下配置ActivePerl,使IIS5.0支持CGI程序。
1.在Windows2000下添加Internet信息服務(IIS)組件。
2.下載最近的Perl解釋程序ActivePerl-5.6.0.620-MSWin32-x86-multi-thread.msi,下載地址為:
ftp://www.newhua.com/ActivePerl-5.6.0.620-MSWin32-x86-multi-thread.msi 或者是 http://www.fykx.net/download/cgi/ActivePerl-5.6.0.620-MSWin32-x86-multi-thread.msi
3.安裝ActivePerl-5.6.0.620-MSWin32-x86-multi-thread.msi,建議安裝在C:\USR目錄下,因為每個CGI程序文件第一行都要申明CGI解釋程序的路徑(#!/usr/bin/perl)。
4.運行regedit (需要重新啟動計算機才能生效) 找到: HKEY_LOCAL_MACHINE\System\Currentcontrlset \Services\W3svc\Parameters\ScriptMap\ 目錄 增加以下鍵值: 鍵名: ".cgi" 鍵值: "C:\USR\BIN\perl.exe %s %s" 鍵名: ".pl" 鍵值: "C:\USR\BIN\perl.exe %s %s"
5.打開“Internet 服務管理器”,選中“默認web站點”或者其它站點,打開它的“屬性”窗口。在“web站點”頁下,改變“IP地址”:“全部未分配”為“(您機子的ip地址,例如:202.117.131.6)”;“TCP端口”為“80”。接著,選中“主目錄”頁,單擊“應用程序設置”下的“配置”按鈕后,在新窗口下單擊“添加”按鈕;在“可執行文件”中輸入“C:\usr\bin\perl.exe %s %s”,在“擴展名”中輸入“.cgi”,把"腳本引擎"打上勾,點擊“確定”(亦可添加其他,如“.pl”等)。接著,選中“ISAPI篩選器”頁,單擊“添加”按鈕;在“篩選器名稱”中輸入“cgi”,在“可執行文件”中輸入“C:\usr\bin\PerlIS.dll”,點擊“確”。
<IMG border=0 SRC=http://www.activeedu.net/php/vb141/pic/004.jpg>
關閉所有窗口,重啟系統后,可打開IE瀏覽器進行測試。
6.編寫測試程序(同上)
7.有關出現錯誤問題的解決(同上)
|