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입니다.
오 죄송합니다. 'echo LDAP_OPT_TIMELIMIT; 대신이 특정 옵션의 현재 값을 얻기 위해'ldap_get_option ($ ldapconn, LDAP_OPT_TIMELIMIT, $ retVal)'을 사용해야합니다.이 옵션의 내부 "숫자"만 가져옵니다. 따라서이 경우 옵션이 올바르지 만 오래 실행되는 요청은 여전히 취소되지 않습니다. :-( –
okay - 이유를 찾았습니다. ldap_search에는 ldap_connect 옵션을 덮어 쓰는 자체 timeout 매개 변수가 있습니다. –