ldap_bind()到Active Directory的延迟时间为5秒

时间:2011-04-20 10:05:17

标签: php codeigniter ldap adldap

我在使用Apache 2.2.16和PHP 5.3.3-7以及Suhosin运行Debian压缩的生产服务器上遇到了一个奇怪的问题。在我的开发机器上,运行XAMPP的Windows 7 64bit,我没有同样的问题。

问题是:我使用adLDAP PHP API访问Windows Active Directory域控制器,而在生产框中,有时会有<5秒延迟 调用 ldap_bind()。我没有在开发框中看到这一点 - 他们正在使用相同的详细信息和凭据访问同一个LDAP服务器。

ldap_connect()执行正常,但是ldap_bind()给了我错误。我已通过使用CodeIgniter进行记录来确认这一点。

有人能指出我正确的方向吗?

2 个答案:

答案 0 :(得分:2)

要进一步了解发生了什么,可以启用ldap模块的调试输出:

ldap_set_option(NULL, LDAP_OPT_DEBUG_LEVEL, 7);

5s通常是针对服务器的超时。当你说它只是偶尔发生时,并且仅在生产时,建议问题出在你的网络而不是你的代码中。

答案 1 :(得分:1)

我也有这个问题。它似乎也是我的DNS问题。我将服务器ping了两次并获得了两个不同的IP地址。一次超时,另一次没有。我在ldap_connect中使用了良好的IP地址而不是名称,问题就消失了。