2011-07-28 61 views
0

我在我的網絡服務器的cgi-bin文件夾中有一個test.py,當我運行它時,我得到500 Internal Server Error。我究竟做錯了什麼?這裏的代碼:Python CGI錯誤

#!/usr/bin/python 
import os 
print "Content-type: text/plain\n\n" 
print "hi" 

我需要什麼權限?

+1

您的腳本是否可執行? (chmod + x test.py)? python確實在/ usr/bin/python中嗎? (如何配置apach) 當您從命令行運行腳本時會發生什麼? – lazy1

+1

提供更多信息。你使用哪個網絡服務器? Apache的?哪個用戶正在運行?你有什麼日誌?你有什麼文件許可? – msbrogli

+0

腳本是可執行的,Python在那裏,不知道Apache如何配置,在命令行上運行良好。使用Webfaction,不知道要檢查的日誌,權限是755 ATM。 – tekknolagi

回答

2

這不會產生有效的HTTP輸出。 HTTP規範每行需要兩個字符結尾\r\n

也嘗試從shell運行腳本。還要查看來自服務器的任何調試日誌。

+0

除了原木之外,不知道他們在哪裏。還是行不通。 – tekknolagi

+0

嘗試查看'/ var/log/httpd'或'/ var/log'下的某處。 – Keith

1

爲了有效地增加一個空行標記的標題行結束時, 使用CR-LF行結束:

#!/usr/bin/python 
import os 
print "Content-type: text/plain\r\n\r\n" 
print "hi" 

或者,不難看反斜槓和添加一個空的print statemanet:

#!/usr/bin/python 
import os 
print "Content-type: text/plain" 
print 
print "hi" 
+0

OP已經有所需的空白行('\ n \ n') –

+0

仍然是500錯誤 – tekknolagi

+0

對不起,試試\ r \ n – gimel