1

ldap_connectPHPアプリケーションから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が変更されていないことがわかりましたldap_set_option

そのオプションが変更されないのはなぜですか?その理由は何ですか?ちなみに、ldap_set_optionどちらの場合も の戻りコードは 1 です。

4

1 に答える 1

3

LDAP_OPT_TIMELIMITどのオプションを設定するかを指示するために使用されるフラグldap_set_option()です。その値は変更されません。1inは、ldap_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.";
}
于 2013-08-28T11:48:50.390 に答える