当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 5 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : ubuntu 6.06 下有没有配置成Mod_python阿?
帖子发表于 : 2006-08-08 16:28 

注册: 2006-08-07 8:48
帖子: 5
送出感谢: 0 次
接收感谢: 0 次
我死活搞不定!
Apache 版本是1.3.34, mod_python is 2.7.10(用的是libapache-mod-python2.4包)
python 2.4.3
这些都是通过apt-get 来安装的。

web root 是在 /var/www.
我建立了 一个 test目录

在http.conf 配置如下:

<Directory /var/www/test>
AddHandler python-program .py
PythonHandler mptest
PythonDebug On
</Directory>

在 modules.conf 配置文件中,
已经有
LoadModule python_module /usr/lib/apache/1.3/mod_python


然后我建立mptest.py文件,
内容如下:

from mod_python import apache
def handler(req):
req.send_http_header()
req.write("Hello World!")
return apache.OK

浏览 http://127.0.0.l/test/mptest.py, 得到服务器内部错误!
日志如下:
make_obcallback():could not import mod_python.apache
make_obcallback():could not call init
........python_handler: make_obcallback returned no obCallBack!


我的系统是安装了python2.3 和python2.4,但python指向了python2.4
我直接运行 mptest.py,输出如下:

Traceback (most recent call last)
File "/var/www/test/mptest.py",line 1, in ?
from mod_python import apache
File "/usr/lib/python2.4/site-packages/mod_python/apache.py",line 55 in ?
import _apache
ImportError: No module named _apache

有人遇到想到的问题吗?


页首
 用户资料  
 
2 楼 
 文章标题 :
帖子发表于 : 2006-08-08 19:07 
论坛管理员

注册: 2005-03-27 0:06
帖子: 10116
系统: Ubuntu 12.04
送出感谢: 7
接收感谢: 128
使用apache2和libapache2-mod-python,我试过没有问题.


页首
 用户资料  
 
3 楼 
 文章标题 :
帖子发表于 : 2006-08-09 0:38 

注册: 2006-08-07 8:48
帖子: 5
送出感谢: 0 次
接收感谢: 0 次
发现一个Bug:
如果 采用 Apache 版本是1.3.34, mod_python is 2.7.10(用的是libapache-mod-python2.4包)和python 2.4.3
那么mod_python无法配置成功。
可能的原因 mod_python/2.7.10 对应的是 Python/2.4.1a0 (从apache的error.log看到的)
而ubunut 6.06中默认的python 2.4 是 2.4.3!

我下午后来卸载了libapache-mod-python2.4,安装libapache-mod-python2.3,配置没有改变,
mod_python可以正确的run起来!


页首
 用户资料  
 
4 楼 
 文章标题 :
帖子发表于 : 2007-06-19 18:12 

注册: 2005-12-07 10:32
帖子: 48
送出感谢: 0 次
接收感谢: 0 次
这个例子可能有其他问题!我是折腾了一天,用浏览器访问.py文件时就是坚持要我保存。无奈之下按它的要求做了,打开保存的文件时,理所当然地认为应该是源文件,可万万没有想到的是打开保存的文件一看,原来已经是执行的结果了!

可怜我先装apache 1.3,配置了半天不成,看到ye兄的说法后毅然删除了apache1.3,安装apache2,然后又是折腾了半天,结果都是一样的,浏览器固执地要求我保存文件。没想到最后的一个无奈举动反而解决了问题!

分析了一下,觉得是这个例子中返回的结果仅仅是一个包含了字符串"hello,world"的文本,而不包含其他html元素,因此像firefox这样的浏览器认为是一个不可识别的类型,因此要求保存。我想IE可能就不存在这个问题(当然仅是猜想,因为我是在Ubuntu下做的试验,没有在Windows下做。

所以建议遇到类似问题的朋友先看看返回的文件内容,如果确实是源文件,那可能是配置的问题。如果已经是执行结果了,那就是其他问题了。

解决这个问题的方法很简单,在输出"hello,world“之间设置一下返回文件类型即可:
req.content_type = 'text/plain'


页首
 用户资料  
 
5 楼 
 文章标题 : Re: ubuntu 6.06 下有没有配置成Mod_python阿?
帖子发表于 : 2008-03-21 12:45 

注册: 2006-12-21 11:47
帖子: 61
送出感谢: 0 次
接收感谢: 0 次
网上找了2次答案 ,间隔一年,都没解决,
刚才 建立一个mptest.py的文件就可以了,再运行其它的.py文件也都正常

设定路径试试

<VirtualHost fc.com>
DocumentRoot /usr/www/www.fca.com

<Directory "/usr/www/www.fca.com">
AllowOverride FileInfo
AddHandler mod_python .py
PythonPath "['/usr/www/www.fca.com'] + sys.path"

PythonHandler mptest
PythonDebug On


allow from all
Options +Indexes
</Directory>
</VirtualHost>


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 5 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 1 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译