发现apache的mod_python存在一个BUG

来源:互联网 发布:linux中的解压缩命令 编辑:程序博客网 时间:2024/05/13 15:49

出问题版本==3.3.1

mod_python是apache的一个模块,用于直接在apache进程内(当然要另开个线程)运行python,而不像普通CGI那样启动新进程来运行python脚本,性能提高很多

之前,我一直以为,该模块能让apache运行任何符合python语法的脚本,直到运行这么一行代码


>>> path = os.path.join('/home/runji/', '%05d.wav'%8)>>> print path/home/runji/00008.wav

上述代码的意图是,将任意数字(例子中是8)格式化成5位数的字符串,不足5位的前面补零

但mod_python运行这段字符串格式化代码时,会异常退出,并且没有任何告警和报错

所以,我觉得mod_python是一个阉割版的python解释器,它具备标准python解释器的大部分功能(而且也能利用标准python的三方库),但一些犄角旮旯的功能就没有了

另外该模块安装后体积只有440KB,而标准python解释器的体积有2800KB,二者体积相差巨大,又看到wikipedia这么一段话

It is intended to provide a Python language binding for the Apache HTTP Server.

所以,我又觉得mod_python只是一个Binder,将CGI调用信息翻译成python能理解的数据格式,最终还是调的标准Python中的函数(通过什么方式?),只是没有起进程而已


到底是哪一种情况,请看过源码的同学告知,谢谢!

0 0
原创粉丝点击