Python Django httpd - 【注意】child pid XXXXX exit signal Segmentation fault(11)

Posted

技术标签:

【中文标题】Python Django httpd - 【注意】child pid XXXXX exit signal Segmentation fault(11)【英文标题】:Python Django httpd - [notice] child pid XXXXX exit signal Segmentation fault (11) 【发布时间】:2012-12-10 18:07:33 【问题描述】:

有时它的响应就像一个魅力,但有时我收到错误“未收到数据”。我四处搜寻,但没有任何效果。那些建议使用“gdb”来调试apache的可能错误的帖子,好吧,我没有机会用gdb测试它,因为在我正在使用的服务器中,没有任何开发软件或库(python除外),我无法安装它们。另一半的帖子建议了与使用 php 的网络服务器兼容的解决方案 - 我不知道它是否对问题有任何影响。

我的httpd配置是这样的:

Apache/2.2.11 (Unix) DAV/2 
mod_ssl/2.2.11 OpenSSL/0.9.8b 
mod_jk/1.2.15 
PHP/5.1.6 
mod_wsgi/2.1-BRANCH 
Python/2.4.3 configured

我使用 Django,因此使用 mod_wsgi。除了使用 gdb 之外,还有其他方法可以调试此问题吗?

请注意,在我的应用程序的以前版本中,我没有收到任何这样的错误,从来没有。对于较新的版本,我没有更改技术,只是将 Django 升级到 1.3,在 CentOS5 上开始使用 ZSI 2.1。

提前致谢。

【问题讨论】:

这个答案,***.com/questions/6103386/… 提到 apache 的不同编译方式可能会导致问题。如果没有其他结果,我建议进一步研究该答案。 另外,看看这个答案:serverfault.com/questions/167069/… 如果它是您使用的 python 版本,我也不会感到惊讶。尝试安装 python 2.7(不是系统 python),并用新的 python 重建 mod_wsgi。如果 mod_python 配置为在 apache 中加载,也要禁用它。 您是否阅读过code.google.com/p/modwsgi/wiki/… 并消除了那里和code.google.com/p/modwsgi/wiki/ApplicationIssues 中提到的那些可能性?特别是与 PHP 和 Python 扩展模块冲突的共享库版本,在子解释器中不起作用。 【参考方案1】:

正如 Graham-Dumpleton 上面评论的那样,这似乎是mod_wsgi 中的一个众所周知的问题,即与expat 库版本兼容性。

失败的原因(以及解决的步骤)是described here

tl;dr 解决方案(来自上面的链接):

请注意,这只适用于 Python 2.5 之前的 Python 版本。 从 Python 2.5 开始,“expat”库的副本捆绑在 与 Python 是名称空间前缀,从而避免名称冲突 之前已加载的“expat”库。

【讨论】:

以上是关于Python Django httpd - 【注意】child pid XXXXX exit signal Segmentation fault(11)的主要内容,如果未能解决你的问题,请参考以下文章

django Apache httpd.conf 设置

Apache Mod_wsgi Django Anaconda Python3 配置

django部署到apache

apache部署django出现403Forbidden错误怎么解决

Django 重启服务器或 httpd

弹性豆茎 gzip Python & Django