在cgi bin中执行Python文件时出错(已尝试在Apache中启用cgi脚本)

在cgi bin中执行Python文件时出错(已尝试在Apache中启用cgi脚本),python,apache,ubuntu,cgi-bin,Python,Apache,Ubuntu,Cgi Bin,我有一个运行在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:/

我有一个运行在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代码,而不是执行它。我已经广泛阅读了在线文档和其他解决这个问题的问题

从那次研究中,我更改了我的
httpd.conf
文件,以包含一些
目录

httpd.conf(添加到末尾的内容)

ScriptAlias/cgi-bin/“/usr/local/apache2/cgi-bin/”
选项执行CGI
SetHandler cgi脚本
AddHandler cgi脚本.py
不允许超限
选项+执行CGI-多视图+符号链接所有者匹配
命令允许,拒绝
通融
我已经重新启动/硬启动/停止了Apache,并且能够通过命令行成功地运行Python文件,但是仍然无法通过浏览器实际执行Python文件。我甚至检查了Apache错误日志,但没有发现问题的迹象。有人能提供一些建议吗


谢谢

您需要在脚本所在的chmod 755 cgi-bin文件夹(和/或子文件夹)中找到脚本

然后使用chmod755创建脚本文件

最后


在记事本中打开您喜欢的脚本,并使用编码UTF-8保存,不带BOM,并且必须为UNIX系统设置EOL(行尾)转换。(在记事本++中,后者在编辑菜单中)

PHP与此有什么关系?在这个问题的上下文中,它与此无关,但最终我将(通过
exec
)在PHP页面中执行python脚本。请不要使用不相关的标记。
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>