我正在使用ldap_connect
来处理来自PHP应用程序的LDAP服务器,该工作正常。
现在我需要设置超时,以便在请求运行很长时取消。
为此,我使用以下代码行设置以下选项:
$ldapconn = ldap_connect($ldap['host'], $ldap['port'])
or myExClass::throwException("unable to connect");
echo LDAP_OPT_TIMELIMIT;
ldap_set_option ($ldapconn, LDAP_OPT_TIMELIMIT,1);
ldap_set_option ($ldapconn, LDAP_OPT_NETWORK_TIMEOUT,1);
echo LDAP_OPT_TIMELIMIT;
插入echo
进行调试。在此示例中,我发现选项LDAP_OPT_TIMELIMIT
未更改4.在ldap_set_option
之前和之后。
为什么不更改该选项?
可能是什么原因?
顺便说一下:ldap_set_option
的返回码在两种情况下均为1。
答案 0 :(得分:2)
LDAP_OPT_TIMELIMIT
是一个标志,用于告诉ldap_set_option()
设置哪个选项 - 其值永远不会改变。 1
中的ldap_set_option($ldapconn, LDAP_OPT_TIMELIMIT, 1);
是您为LDAP_OPT_TIMELIMIT
设置的值。
由于您致ldap_set_option
的电话正在返回TRUE
,因此听起来他们的工作正常。您可以使用ldap_get_option()
验证您的设置:
if( ldap_get_option($ldapconn, LDAP_OPT_TIMELIMIT, $retVal) ) {
echo $retVal;
} else {
echo "Uh oh. Couldn't retrieve value for LDAP_OPT_TIMELIMIT.";
}