ldap_set_option未设置超时选项



我使用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.";
}

相关内容

  • 没有找到相关文章

最新更新