Apache 在未启用LDAP_mod的情况下,LDAP命令仍在运行

Apache 在未启用LDAP_mod的情况下,LDAP命令仍在运行,apache,ldap,Apache,Ldap,当我尝试使用LDAP凭据登录时,我的(开发)站点出现挂起问题。使用xdebug,我能够精确地指出特定代码行的挂起,这是对ldap\u bind(…)的调用。经过几天的尝试理解它为什么挂起,我的调试技术之一是禁用mod_ldap,然后尝试在apache日志中显示任何错误(启动后,apache错误日志在执行此http请求时没有记录任何错误;它也“挂起”) 我所做的 我禁用了模块(sudo a2dismod_ldap),重新启动了服务器(sudo service apache2 restart),并确

当我尝试使用LDAP凭据登录时,我的(开发)站点出现挂起问题。使用xdebug,我能够精确地指出特定代码行的挂起,这是对
ldap\u bind(…)
的调用。经过几天的尝试理解它为什么挂起,我的调试技术之一是禁用mod_ldap,然后尝试在apache日志中显示任何错误(启动后,apache错误日志在执行此http请求时没有记录任何错误;它也“挂起”)

我所做的

我禁用了模块(
sudo a2dismod_ldap
),重新启动了服务器(
sudo service apache2 restart
),并确认模块未启用(
apache2ctl-M
未显示
mod_ldap

问题

当它到达
ldap\u bind()
时,它仍然挂起,但是,它甚至不应该到达那个点,因为如果没有mod\u ldap,我的代码甚至不应该成功调用
ldap\u connect()
(对吗?),这将返回
(资源)资源id='5'type='ldap link'
(意味着调用成功)。我期待一个命名方法或函数错误

为什么php可以调用未启用的模块,我如何停止这种行为

版本

Ubuntu 14.04

Apache 2.4.7

PHP 5.5.9-1ubuntu4.5


事实证明,我对所发生的事情有一个初步的了解。我从未想到
ldap\u connect()
作为php调用与
mod\u ldap
或任何apache模块无关。因此,禁用/启用apache mods没有任何作用,因为。。。它与apachemods没有任何关系

所以。。。我能够使用禁用ldap php扩展

sudo php5dismod ldap

并且能够检查它是否已被禁用

php-m

果然,在重新启动服务器后,运行脚本导致
ldap\u connect()
出现无功能错误(正如我所期望的那样)。现在我只需要弄清楚为什么
ldap\u bind()
挂起