簡體   English   中英

在cgi-bin中執行Python文件時出錯(已嘗試在Apache中啟用CGI腳本)

[英]Error with executing Python files in cgi-bin (have tried enabling CGI Scripts in Apache)

我在Ubuntu上有一個正在運行的Apache2服務器,並安裝了PHP。 我的根文件夾是/usr/local/apache2/htdocs

我在/usr/local/apache2/cgi-bin放置了一個測試python腳本,名為test.py

test.py

#!/usr/bin/python
import cgi
import cgitb; cgitb.enable()
print "Content-Type: text/plain\r\n\r\n"
print 'hi'

我通過http://localhost/cgi-bin/test.py在瀏覽器中訪問它。 目前,它只是顯示我剛剛鍵入的Python代碼,而不是執行它。 我已經廣泛研究了在線文檔以及其他解決此問題的stackoverflow問題。

通過這項研究,我更改了httpd.conf文件,使其包含一些Directory

httpd.conf (已添加到其末尾的東西)

ScriptAlias /cgi-bin/ "/usr/local/apache2/cgi-bin/"

<Directory "/usr/local/apache2/cgi-bin">
    Options ExecCGI
    SetHandler cgi-script
</Directory>

<Directory "/usr/local/apache2">
    AddHandler cgi-script .py
    AllowOverride None
    Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
    Order allow,deny
    Allow from all
</Directory>

我已經重新啟動/硬啟動/停止了Apache,並且能夠通過命令行成功運行Python文件,但是通過瀏覽器實際執行python文件仍然沒有運氣。 我什至檢查了Apache錯誤日志,但沒有發現問題的跡象。 誰能提供一些建議?

謝謝

您需要在腳本所在的位置chmod 755 cgi-bin文件夾(和/或子文件夾)。

然后chmod 755您的腳本文件。

最后..

在您喜歡的記事本中打開腳本,並使用UTF-8編碼(不帶BOM)進行保存,並且必須為UNIX系統設置EOL(行尾)轉換。 (在Notepad ++中,后者在“編輯”菜單中)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM