CGI "Internal Server Error"
在安裝 CGI 程式時如果設定錯誤,便會看到 "500 Internal Server Error" 訊息,一般常見的錯誤可以用以下方法解決:
1. CGI 程式的權限需要設定為 711 或 755。
2. 程式的最開端有一行類似 #!/usr/bin/perl,其中 #! 是必需要的,然後確定 /usr/bin/perl 是正確的路徑,另外這行前不可以有空格或空行。
3. 如果程式本身會讀寫其他檔案,要檢查存取檔案的絕對路徑或相對路徑是否正確,以及檔案是否有權限存取。
4. 根據 HTTP 栛定,在輸出內容前要先輸出 HTTP Headers,否則便會遇上便會錯誤,在 Apache 的 error log 裡面看到的錯誤是 "Premature end of script headers",解決方法是在輸出內容前加一句:
print ("Content-Type: text/html;\n\n");
如大家發現有錯漏,或者有其他補充,觀迎回覆指教。
以上为网络解决:
问题:
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> <html><head> <title>500 Internal Server Error</title> </head> <body> <h1>Internal Server Error</h1> <p>The server encountered an internal error ormisconfiguration and was unable to completeyour request.</p> <p>Please contact the server administrator, webmaster@localhost and inform them of the time the error occurred,and anything you might have done that may havecaused the error.</p>
<p>More information about this error may be availablein the server error log.</p> <hr><address>Apache/2.2.22 (Ubuntu) Server at 192.168.8.111 Port 80</address>< /body> </html>
解决:
添加:
printf ("Content-Type: text/html;\n\n");
即可