相关疑难解决方法(0)

在Apache2中执行Python脚本

我正在尝试使用Apache执行Python程序.但是,Apache只会提供文件而不会实际执行它.该文件的权限是r/w/x,它是在/var/www.我将发布后面的内容httpd.conf和程序代码.我也尝试将python脚本作为.cgi文件运行但是也没有用.我也将这些mod_pythonmod_wsgi模块加载到apache中.

Python示例:

#!/usr/bin/python

# enable debugging
import cgitb
cgitb.enable()

print "Content-Type: text/plain\r\n\r\n"
print

print "Hello World!"
Run Code Online (Sandbox Code Playgroud)

httpd.conf中:

AddHandler cgi-script .cgi .pl
AddHandler python-program .py
Run Code Online (Sandbox Code Playgroud)

我知道它是一个小的httpd.conf文件但是当我安装apache时,文件中没有任何内容.我还要提一下,这只是为了让我学习在apache中运行python的基础知识.它不适合生产.谢谢您的帮助!

编辑

我正在使用的操作系统是Ubuntu 10.04,apache的版本是2.我有python版本2.6,它在#!/usr/bin/env python调用时自动使用.
我收到两个主要错误,第一个是即使文件和文件夹的权限是777,也找不到文件.日志中的错误是

[Sun Feb 05 13:29:44 2012] [error] [client 192.168.1.3] File does not exist: /var/www/poit-0.1
Run Code Online (Sandbox Code Playgroud)

这个错误是针对我没写的不同的python脚本.奇怪的是,当从浏览器窗口访问时,文件显示在文件夹的索引中.但是,当我导航到该文件时,我收到上述错误.

我得到的另一个错误是标头的过早结束.错误如下:

[Sun Feb 05 12:10:19 2012] [error] (8)Exec format error: exec of '/var/www/pyth.py' failed
[Sun Feb 05 12:10:19 2012] [error] [client 192.168.1.3] Premature end …
Run Code Online (Sandbox Code Playgroud)

python apache cgi

12
推荐指数
1
解决办法
5万
查看次数

标签 统计

apache ×1

cgi ×1

python ×1