Web aym.pekori.to

ldap_set_option

(PHP 4 >= 4.0.4, PHP 5)

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. プロトコルバージョンを設定する

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

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

<?php
// $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() も参照ください。