簡體   English   中英

ldap_set_option未設置超時選項

[英]ldap_set_option not setting timeout 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.在ldap_set_option之前和之后。

為什么該選項未更改? 可能是什么原因? 順便說一句:兩種情況下ldap_set_option的返回碼ldap_set_option 1。

LDAP_OPT_TIMELIMIT是用於告訴ldap_set_option()設置哪個選項的標志-它的值永遠不會改變。 1ldap_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.";
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM