2016-05-16 53 views
0

運行在Ubuntu蟒蛇CGI腳本我不能使用XAMPP如何使用XAMPP

我在httpd.conf中做出必要的修改(/選擇/ LAMPP /等)

在Ubuntu中運行的Python CGI腳本
<Directory "/opt/lampp/htdocs"> 
    Options +ExecCGI 
    AddHandler cgi-script .cgi .py 
    Order allow,deny 
    Allow from all 
</Directory> 

============================================== ============

和我的Python腳本文件是

#!/usr/bin/python 
# -*- coding: UTF-8 -*-# enable debugging 
import cgitb 
cgitb.enable()  
print "Content-Type: text/html;charset=utf-8" 
print "Hello World!" 

================================================= ==========

在此先感謝!

+0

會發生什麼? –

+0

運行後,出現如下錯誤:「服務器遇到內部錯誤,無法完成請求 錯誤消息: 標頭輸出結束之前:labels.py」 –

+0

在服務器上部署的Python腳本中,第二次和第三次印刷聲明之間是否有換行符? –

回答

0

CGI腳本的輸出應該由兩部分組成,兩部分用空行分隔 。第一部分包含許多標題, 告訴客戶跟隨什麼樣的數據。

https://docs.python.org/2/library/cgi.html

在你當前的代碼示例中的空行缺少(在你最初發布的代碼)。嘗試改變第一print聲明:

print "Content-Type: text/html;charset=utf-8\n

,它應該工作(至少它沒有與Ubuntu和Apache一個亞馬遜的服務器上)

我與Python和CGI個人的故障處理流程:

+0

我在error.log中得到錯誤爲 [Tue May 17 11:54:24.307673 2016] [cgid:error] [pid 15122:tid 140289761994624](2)沒有這樣的文件或目錄:AH01241:'/ var/www/html/test/labels.py'失敗 [Tue May 17 11:54:24.307933 2016] [cgid:error] [pid 15020:tid 140289461118720] [client 127.0.0.1:60209] labels.py –

+0

在您的httpd.conf中,您的cgi目錄是「/ opt/lampp/htdocs」,但Python腳本似乎在'/var/www/html/test/labels.py'中。當您移動腳本或更改http.conf時,它會起作用嗎? –

+0

現在我正在使用apache2和ubuntu。不是xampp。 –