Google

NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.7">

ldap_set_option

(PHP 4 >= 4.0.4)

ldap_set_option -- 指定したオプションの値を設定する

説明

bool ldap_set_option ( int link_identifier, int option, mixed newval)

指定したオプションの値を newval に設定し、 成功時にTRUE、エラーの場合にFALSEを返します。

パラメータ option は次のどれかになります。 LDAP_OPT_DEREF, LDAP_OPT_SIZELIMIT, LDAP_OPT_TIMELIMIT, LDAP_OPT_PROTOCOL_VERSION, LDAP_OPT_ERROR_NUMBER, LDAP_OPT_REFERRALS, LDAP_OPT_RESTART, LDAP_OPT_HOST_NAME, LDAP_OPT_ERROR_STRING, LDAP_OPT_MATCHED_DN, LDAP_OPT_SERVER_CONTROLS, LDAP_OPT_CLIENT_CONTROLS 以下に簡単に説明しますが、詳細については、 draft-ietf-ldapext-ldap-c-api-xx.txtを参照下さい。

オプション LDAP_OPT_DEREF、LDAP_OPT_SIZELIMIT、LDAP_OPT_TIMELIMIT、 LDAP_OPT_PROTOCOL_VERSION、LDAP_OPT_ERROR_NUMBER は整数値であり、 LDAP_OPT_REFERRALS、LDAP_OPT_RESTART は論理値、オプション LDAP_OPT_HOST_NAME、LDAP_OPT_ERROR_STRING、LDAP_OPT_MATCHED_DN の 値は文字列です。最初の例でこれらの使用方法を説明します。オプショ ン LDAP_OPT_SERVER_CONTROLS、LDAP_OPT_CLIENT_CONTROLS はコントロー ルのリストを必要とします。これは、値がコントロールの配列である必 要があることを意味します。コントロールは、そのコントロールのIDで ある oid、オプションの value、オプションのフラグ criticality からなります。PHPにおいてコント ロールは、キーが oid で値が文字列、二つのオ プションの要素からなる配列で指定されます。オプションの要素は、キー が value で値が文字列、キーが iscritical で値が論理値です。 iscritical が指定されない場合のデフォルト値 は FALSE です。以下の2番目の例も参照下さい。

この関数は、OpenLDAP 2.x.x または Netscape Directory SDK x.x を使 用している場合のみ利用可能で、PHP 4.0.4で追加されました。

例 1プロトコルバージョンを設定する

// $ds はディレクトリサーバーへの有効なリンクIDです
if (ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3))
    echo "LDAPv3 を使用します";
else
    echo "プロトコルバージョンを 3 に設定できませんでした";

例 2サーバコントロールを設定する

// $ds は値を持たないディレクトリサーバコントロールへの有効なリンクID
// です。
$ctrl1 = array("oid" => "1.2.752.58.10.1", "iscritical" => TRUE);
// iscritical のデフォルトは、FALSE です。
$ctrl2 = array("oid" => "1.2.752.58.1.10", "value" => "magic");
// 両方のコントロールを試す
if (!ldap_set_option($ds, LDAP_OPT_SERVER_CONTROLS, array($ctrl1, $ctrl2)))
    echo "サーバコントロールの設定に失敗しました。";

ldap_get_option() も参照下さい。