1
我使用ldap_connect
從PHP應用程序使用LDAP服務器,它工作正常。 現在我需要設置超時,以便一個請求將被取消,如果它運行很長。 爲此,我設定的下列代碼行以下選項:ldap_set_option沒有設置超時選項
$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。
哦,對不起,我的錯誤。我應該使用'ldap_get_option($ ldapconn,LDAP_OPT_TIMELIMIT,$ retVal)'來獲取這個特定選項的當前值,而不是'echo LDAP_OPT_TIMELIMIT;'我只能得到這個選項的內部「數字」。所以在這種情況下,該選項設置正確,但長時間運行的請求仍未取消。 :-( –
好吧 - 我發現原因:ldap_search有其自己的超時參數,它會覆蓋ldap_connect選項。 –