很多參加了網頁寄存的用戶, 會發覺寄存戶口內有一個 cgi-bin 的目錄, 但不知如何使用。
簡單而言, cgi-bin directory 是用來存放一些可執行的程式 (稱為 cgi scripts)。如你的網站需要加入一些互動功能, cgi 程式是必需的。
而 Perl 卻是開發 cgi 最流行及最佳的程式語言, 最大的優點是易學易懂。
我們的網站為會員設計了一個免費的 “學習 Perl 課程”, 歡迎參閱賜教。
CGI-BIN 目錄使用簡介
以下是使用 cgi-bin 目錄的指引:
- 我們的伺服器均支援 Perl 程式。
- 當將 Perl 程式用 FTP 上傳到你戶口的 cgi-bin 目錄時, 必需是 “ASCII” mode, 而不是 “Binary” mode。
- 當將 Perl 程式用 FTP 上傳到你戶口的 cgi-bin 目錄後, 你必需用 chmod 正確地改變 Perl 程式的權限, Perl程式方可正常執行。一般是 chmod 755, 如下圖:

執行 Perl CGI 程式常見錯誤
當你執行 Perl 程式的時候, 你可能要解決以下是一些常見的錯誤:
伺服器出錯 (Internal Server Error)
這錯誤並不是真的伺服器出錯, 這錯誤來源於伺服器去執行 cgi 程式時產生的, 其實這錯誤一般可能是以下的原因:
- 程式不能執行
例如 : 沒有正確改變 cgi 程式的權限 (chmod), 或程式本身的錯誤, 等等…..。 - 超文件傳輸協定 (HTTP) 表頭的錯誤
超文件傳輸協定 (HTTP) 表頭和程式本身一般需要印出兩行空白列(\n\n), 例如:
Print “Content-type:text/html\n\n”; - cgi-bin 目錄的權限
確定你 cgi-bin 目錄的權限 (chmod) 是 755 - 程式使用的路徑
確定你 Perl 程式使用的路徑是否正確, 以及確定 HTML 文件內的連結是否正確的指向 cgi 程式.
表頭的錯誤 (Malformed Header)
一般原因是 HTTP 表頭的錯誤, 例如忘記在 HTTP Header 之後加上 \n\n.
另外的可能原因是 Perl 的錯誤路徑。
網頁寄存知識 編寫於 2001年2月
Leave a Reply