[英]Apache 2.4 portability of python cgi-bin scripts between Windows and Linux
[英]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.