我使用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。CCD_ 4前后。
为什么不改变这个选项?原因可能是什么?顺便说一下:在这两种情况下,ldap_set_option
的返回代码都是1。
LDAP_OPT_TIMELIMIT
是一个用于告诉ldap_set_option()
要设置哪个选项的标志,其值永远不应更改。ldap_set_option($ldapconn, LDAP_OPT_TIMELIMIT, 1);
中的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.";
}