在安裝 CGI 程式時如果設定錯誤,便會看到 "500 Internal Server Error" 訊息,一般常見的錯誤可以用以下方法解決:

1.修改配置文件httpd.conf中的cgi-bin的权限。

2. CGI 程式的權限需要設定為 711 或 755。

3. 程式的最開端有一行類似 #!/usr/bin/perl,其中 #! 是必需要的,然後確定 /usr/bin/perl 是正確的路徑,另外這行前不可以有空格或空行。

4. 如果程式本身會讀寫其他檔案,要檢查存取檔案的絕對路徑或相對路徑是否正確,以及檔案是否有權限存取。

5. 根據 HTTP 栛定,在輸出內容前要先輸出 HTTP Headers,否則便會遇上便會錯誤,在 Apache 的 error log 裡面看到的錯誤是 "Premature end of script headers",解決方法是在輸出內容前加一句:

print ("Content-Type: text/html;/n/n");

6.当在浏览器中运行CGI,中文显示乱码时,把配置文件httpd.conf中的AddDefaultcharset后面改成gb2312,就可解决乱码问题。

7.当在错误日志里看到的错误是:Can't exec "/yuntaicgi": Permission denied at /usr/lib/perl5/5.8.6/i386-li
nux-thread-multi/IO/File.pm line 176.等情况时,有可能是selinux在搞鬼,把/etc/selinux下的config中的SELINUX=enforcing改成SELINUX=disabled。

如大家發現有錯漏,或者有其他補充,觀迎回覆指教!