PHP - 从 ldap_connect() 捕获超时异常

Teh*_*ila 4 php timeout ldap ldapconnection

我用 PHP 编写了一个小监控脚本,它应该监控虚拟目录及其活动目录。一切正常,但当虚拟目录服务冻结时,我的 ldap_connect() 无法连接,但也没有返回错误。所以我的整个剧本停滞不前。我认为 ldap_connect 函数会超时(就像当您尝试 ping 一个 IP 但无法访问时)。

这是我的连接命令:

$connection = ldap_connect($hostname, $port) or die("Could not connect to {$hostname});
Run Code Online (Sandbox Code Playgroud)

我还没有在 ldap_connect() 手册中找到有关时间限制参数的内容您可以在其中定义函数应尝试连接多长时间直至中止。

然而我不太能想出一个解决方案与trycatch或类似的东西。我也不想使用该set_time_limit()函数,因为我的脚本需要运行到最后。

我感谢每一个帮助:)谢谢和问候蒂姆

ajr*_*eal 5

http://www.php.net/manual/en/function.ldap-set-option.php

特别是以下选项:-

LDAP_OPT_NETWORK_TIMEOUT
LDAP_OPT_TIMELIMIT
Run Code Online (Sandbox Code Playgroud)