1

我在 RHEL 5 和 Python 2.43 上将 mod_wsgi 用于 Django 应用程序(OSQA)(无法升级)。

我设置了站点并且工作正常,然后尝试将身份验证与 python-ldap 集成以访问 Active Directory 属性,例如用户名、电子邮件地址等。

Apache httpd 崩溃并显示以下消息:

[notice] child pid 18705 exit signal Segmentation fault (11)

我最初认为这是由于 Apache 和 Python 之间的 expat 库不一致,但后来我升级了 libexpat.so 模块以匹配 Python 版本的 pyexpat (1.95.8)。

从 django 日志中的大量日志记录中,我可以看到执行此行时发生了 seg 错误:

con = ldap.initialize(AD_LDAP_URL)

python-ldap 是否有特定的东西导致这个问题?关于如何调试的任何其他想法?

谢谢

4

1 回答 1

1

尝试禁用任何使用 LDAP 的 Apache 身份验证模块。如果正在使用 mod_php 并且它正在加载 LDAP 扩展,请尝试禁用 mod_php。简而言之,库版本冲突可能是因为 LDAP 库而不是 expat,因此请禁用其他 Apache 模块并查看问题是否消失。那会缩小范围。

于 2011-03-03T20:57:33.910 回答