[英]Python Cgi script in apache server
我認為我犯了一些愚蠢的錯誤,但我找不到它。 嘗試在apache網絡服務器上運行一個簡單的python cgi腳本。 我的代碼是
#/usr/bin/env python
import cgitb
import cgi
cgitb.enable()
print 'Content-Type: text/html'
print
print '<html>'
print '<head><title>My first Python CGI app</title></head>'
print ' <body>'
print ' <p>something to try<p>'
print ' </body>'
print '</html>'
這段代碼在/ usr / lib / cgi-bin中,我嘗試通過localhost / cgi-bin / test.py運行它,但顯示500 INTERNAL SERVER ERROR 。 我嘗試更改其權限,沒有任何反應。 我能夠從/var/www/html/file_name.html運行html文件,所以我嘗試通過制作cgi-bin文件夾在www /和www / html /(兩者中)中移動它,沒有它,沒有任何解決方法。
我已經在apache2.conf中添加了它
<Directory /usr/lib/cgi-bin>
Options +ExecCGI
AddHandler cgi-script .cgi .py
Order allow,deny
Allow from all
</Directory>
和var / log / apache2 / error.log說
[2015年1月13日星期二22:54:11.422641] [cgid:error] [pid 10157:tid 140434248509184] [client 127.0.0.1:44941]在標頭之前的腳本輸出結尾:test.py
[2015年1月14日星期三00:20:24.434351] [cgid:error] [pid 26512:tid 140434573543296(8)Exec格式錯誤:AH01241:“ / usr / lib / cgi-bin / test.py”的exec失敗
[2015年1月14日星期三00:20:24.434778] [cgid:error] [pid 10158:tid 140434456491776] [client 127.0.0.1:45974]腳本輸出的結尾在標頭之前:test.py
當您遇到500個錯誤時,一個提示是在命令行上運行腳本,該腳本通常會告訴您錯別字或其他解釋程序級別的問題。 查看日志也可以報告相同的錯誤,但是通常可以通過直接運行腳本來更輕松地查看正在發生的情況。
具體來說,此行中的錯字至少是一個問題:
#/usr/bin/env python
應該是:
#!/usr/bin/env python
提示是,按原樣運行腳本會顯示錯誤,否則當您希望通過環境的python
解釋器運行該錯誤時,該錯誤會通過bash
解釋器顯示。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.