在單機上運行調試PerlCGI程序
WINDOWS 95/98 操作系統:
1. 安裝 Perl 解釋器?
Perl 是一種解釋執行的語言,所以,要單機運行調試 Perl CGI ,必須先安裝 Perl 解釋器。
首先下載 Active Perl 5.22e(本站的工具軟件欄目中有下載),一般文件名是 APi5XXe.exe,其中 XX 是版本號。然后運行此程序,默認是安裝在 C:PERL 下,不過為了方便,請最好安裝到 C:USR 目錄下,這樣寫 Perl 解釋器的路徑就可以直接用 #!/usr/bin/perl 了,可以保持單機環境和網絡環境路徑一致。
2. 安裝 WEB 服務器?
有些網友認為安裝了 Perl 解釋器后就可通過雙擊文件運行,這是錯誤的,因為 Perl 是腳本文件,它只能在瀏覽器內調用,所以必須安裝 WEB 服務器軟件。現在 WINDOWS 95/98 下常用的 WEB 服務器有 omniHTTPD 2.06,Apache 1.3.12,Personal Web Server(PWS),下面我們就以這三種 WEB 服務器為例,來看看 Perl 環境的架設:
a) omniHTTPD 2.06
安裝好后,按照下面三步來修改注冊表:
① 運行 RegEdit,搜尋: HKEY_LOCAL_MACHINESystemCurrentcontrlsetServicesW3svcParametersScriptMap 鍵名
② 然后增加鍵名:".cgi",鍵值:"C:USRBINperl.exe %s %s" 和鍵名:".pl",鍵值:"C:USRBINperl.exe %s %s"
③ 存盤即可。
最后,把主頁文件拷到 httpd/htdocs 目錄,Perl 程序拷到 httpd/cgi-bin 目錄即可。
b) Personal Web Server(PWS)
同 a) 一樣修改注冊表,然后在 PWS 中把 c:/inetpub/wwwroot/cgi-bin 目錄設置為可執行即可。
這種服務器有個缺點,它不支持那些使用了 Unix 進程和函數的 Perl 程序,但也有一個好處,這樣的系統同時能支持 ASP。
c) Apache 1.3.12
安裝時請注意,安裝路徑最好裝在硬盤根目錄 APACHE 下,不要裝在默認的 Program FilesAPACHE 下,這樣設定絕對路徑方便!
裝好后,進入 APACHE 下的 CONF 目錄,用文本編輯器來編輯 HTTPD.CONF 文件。
① 尋找 ServerName,把前面的 # 號去掉,后面改為你的域名(單機可用 localhost)。
② 尋找 #ScriptAlias /cgi-bin/ "C:/Apache/cgi-bin/",把前面的 # 號去掉。
③ 尋找 AddHandler cgi-script .cgi ,在后面加上一個空格和 .pl。
④ 尋找 <Directory "C:/Apache/cgi-bin">,下面有一句 AllowOverride, 把后面的參數去掉,改為 All。
⑤ 存盤即可。
最后,把主頁文件拷到 apache/htdocs 目錄,Perl 程序拷到 apache/cgi-bin 目錄即可。
雖然此種 WEB 服務器最難安裝,但它卻是支持 Perl 功能最全最完善的,所以本人強烈推薦大家使用此服務器。
WINDOWS NT/2000 操作系統:
1. 安裝 Perl 解釋器?
方法同上面的 Perl 解釋器的安裝。
2. 修改注冊表
方法同上面的步驟 2 下的 a)中的修改方法。
3. 修改 IIS WEB 服務器
NT/2000 中自帶了 IIS WEB 服務器,而且 CGI-BIN 的目錄一般已經自動設置好了,在 c:inetpubwwwrootcgi-bin 下,如果發現設置不對的話,可以按照如下辦法重新設置:
① 啟動 Internet Service Manager。
② 選擇 WWW 信息發布服務,雙擊或使用鼠標右鍵選擇 Service Properties。
③ 在 WWW 信息發布服務屬性(Publishing Service Properties)窗口中選擇 Directories 子窗口。
④ 用鼠標點擊 Add 按鈕,打開目錄屬性(Directory Properties)對話框。
⑤ 在目錄屬性對話框的第一欄 Directory 用鍵盤輸入需建立目錄映射的目錄路徑(c:inetpubwwwrootcgi-bin),選中 Visual Directory,在別名(alias)中鍵入cgi-bin,并選中 Access 中的 Execute 復選框,最后確定即可。
4. 特別注意事項
如果你的 NT/2000 采用了 NTFS 格式的話,請注意設置好相應目錄的讀寫屬性,一般是在相應目錄上添加 Everyone 用戶,并設置其可寫即可。
這種服務器有個缺點,它不支持那些使用了 Unix 進程和函數的 Perl 程序,但也有一個好處,這樣的系統同時能支持 ASP。
測試系統是否安裝正確:
輸入以下簡單程序(請注意第一行,本人假設你的 Perl 解釋器是安裝在 /usr 下的,如果你安裝的是 /perl 下,請把第一行改為 #!/perl/bin/perl),然后存盤為 test.cgi,放在你的 CGI-BIN 目錄下。
#-------------------------------------
#!/usr/bin/perl
print "Content-type:text/htmlnn";
print "http://www.CGIer.com/";
exit;
#-------------------------------------
運行 WEB 服務器,然后運行瀏覽器,輸入 http://localhost/cgi-bin/test.cgi,如果瀏覽器上出現 http://www.CGIer.com/ 則表示你的 Perl 環境已經成功架設好了。
最后,要注意一點,以上單機調試環境均不支持 Unix 下的 flock() 函數,所以如果你的程序運行出現白頁的話,請把該程序的所有 flock() 函數都去掉即可。
1. 安裝 Perl 解釋器?
Perl 是一種解釋執行的語言,所以,要單機運行調試 Perl CGI ,必須先安裝 Perl 解釋器。
首先下載 Active Perl 5.22e(本站的工具軟件欄目中有下載),一般文件名是 APi5XXe.exe,其中 XX 是版本號。然后運行此程序,默認是安裝在 C:PERL 下,不過為了方便,請最好安裝到 C:USR 目錄下,這樣寫 Perl 解釋器的路徑就可以直接用 #!/usr/bin/perl 了,可以保持單機環境和網絡環境路徑一致。
2. 安裝 WEB 服務器?
有些網友認為安裝了 Perl 解釋器后就可通過雙擊文件運行,這是錯誤的,因為 Perl 是腳本文件,它只能在瀏覽器內調用,所以必須安裝 WEB 服務器軟件。現在 WINDOWS 95/98 下常用的 WEB 服務器有 omniHTTPD 2.06,Apache 1.3.12,Personal Web Server(PWS),下面我們就以這三種 WEB 服務器為例,來看看 Perl 環境的架設:
a) omniHTTPD 2.06
安裝好后,按照下面三步來修改注冊表:
① 運行 RegEdit,搜尋: HKEY_LOCAL_MACHINESystemCurrentcontrlsetServicesW3svcParametersScriptMap 鍵名
② 然后增加鍵名:".cgi",鍵值:"C:USRBINperl.exe %s %s" 和鍵名:".pl",鍵值:"C:USRBINperl.exe %s %s"
③ 存盤即可。
最后,把主頁文件拷到 httpd/htdocs 目錄,Perl 程序拷到 httpd/cgi-bin 目錄即可。
b) Personal Web Server(PWS)
同 a) 一樣修改注冊表,然后在 PWS 中把 c:/inetpub/wwwroot/cgi-bin 目錄設置為可執行即可。
這種服務器有個缺點,它不支持那些使用了 Unix 進程和函數的 Perl 程序,但也有一個好處,這樣的系統同時能支持 ASP。
c) Apache 1.3.12
安裝時請注意,安裝路徑最好裝在硬盤根目錄 APACHE 下,不要裝在默認的 Program FilesAPACHE 下,這樣設定絕對路徑方便!
裝好后,進入 APACHE 下的 CONF 目錄,用文本編輯器來編輯 HTTPD.CONF 文件。
① 尋找 ServerName,把前面的 # 號去掉,后面改為你的域名(單機可用 localhost)。
② 尋找 #ScriptAlias /cgi-bin/ "C:/Apache/cgi-bin/",把前面的 # 號去掉。
③ 尋找 AddHandler cgi-script .cgi ,在后面加上一個空格和 .pl。
④ 尋找 <Directory "C:/Apache/cgi-bin">,下面有一句 AllowOverride, 把后面的參數去掉,改為 All。
⑤ 存盤即可。
最后,把主頁文件拷到 apache/htdocs 目錄,Perl 程序拷到 apache/cgi-bin 目錄即可。
雖然此種 WEB 服務器最難安裝,但它卻是支持 Perl 功能最全最完善的,所以本人強烈推薦大家使用此服務器。
WINDOWS NT/2000 操作系統:
1. 安裝 Perl 解釋器?
方法同上面的 Perl 解釋器的安裝。
2. 修改注冊表
方法同上面的步驟 2 下的 a)中的修改方法。
3. 修改 IIS WEB 服務器
NT/2000 中自帶了 IIS WEB 服務器,而且 CGI-BIN 的目錄一般已經自動設置好了,在 c:inetpubwwwrootcgi-bin 下,如果發現設置不對的話,可以按照如下辦法重新設置:
① 啟動 Internet Service Manager。
② 選擇 WWW 信息發布服務,雙擊或使用鼠標右鍵選擇 Service Properties。
③ 在 WWW 信息發布服務屬性(Publishing Service Properties)窗口中選擇 Directories 子窗口。
④ 用鼠標點擊 Add 按鈕,打開目錄屬性(Directory Properties)對話框。
⑤ 在目錄屬性對話框的第一欄 Directory 用鍵盤輸入需建立目錄映射的目錄路徑(c:inetpubwwwrootcgi-bin),選中 Visual Directory,在別名(alias)中鍵入cgi-bin,并選中 Access 中的 Execute 復選框,最后確定即可。
4. 特別注意事項
如果你的 NT/2000 采用了 NTFS 格式的話,請注意設置好相應目錄的讀寫屬性,一般是在相應目錄上添加 Everyone 用戶,并設置其可寫即可。
這種服務器有個缺點,它不支持那些使用了 Unix 進程和函數的 Perl 程序,但也有一個好處,這樣的系統同時能支持 ASP。
測試系統是否安裝正確:
輸入以下簡單程序(請注意第一行,本人假設你的 Perl 解釋器是安裝在 /usr 下的,如果你安裝的是 /perl 下,請把第一行改為 #!/perl/bin/perl),然后存盤為 test.cgi,放在你的 CGI-BIN 目錄下。
#-------------------------------------
#!/usr/bin/perl
print "Content-type:text/htmlnn";
print "http://www.CGIer.com/";
exit;
#-------------------------------------
運行 WEB 服務器,然后運行瀏覽器,輸入 http://localhost/cgi-bin/test.cgi,如果瀏覽器上出現 http://www.CGIer.com/ 則表示你的 Perl 環境已經成功架設好了。
最后,要注意一點,以上單機調試環境均不支持 Unix 下的 flock() 函數,所以如果你的程序運行出現白頁的話,請把該程序的所有 flock() 函數都去掉即可。