【发布时间】:2014-03-17 01:57:19
【问题描述】:
我在 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 错误日志,但没有发现问题的迹象。谁能给点建议?
谢谢
【问题讨论】:
-
PHP 和这个有什么关系?
-
在这个问题的上下文中它不相关,但最终我将在 PHP 页面中执行(通过
exec)python 脚本。 -
请不要使用不相关的标签。
标签: python apache ubuntu cgi-bin