LDAP サーバーへ接続する

# ldap_connect

(PHP 4, PHP 5, PHP 7, PHP 8)

ldap_connect — LDAP サーバーへ接続する

### 説明

function ldap_connect(?string `$uri` = `null`): LDAP\Connection|false
警告

PHP 8.3.0 以降では、次の シグネチャは推奨されなくなりました。

function ldap_connect(?string `$host` = `null`, int `$port` = 389): LDAP\Connection|false

LDAP\Connection クラスのインスタンスを作成し、指定した `uri` が妥当であるかどうかを調べます。

> 注意: 注意: この関数は、接続を確立するわけでは ありません。 指定したパラメータが妥当であり、必要に応じて接続をオープンできるかどうかを調べるだけです。

### パラメータ

`uri`

  完全な LDAP URI を指定します。`ldap://hostname:port` 形式、あるいは SSL を用いる場合は `ldaps://hostname:port` 形式が使えます。

  複数の LDAP URI を指定する場合は、間にスペースをはさんだひとつの文字列とします。

  `hostname:port` 形式は LDAP URI としてサポートされないことに注意しましょう。 スキーマが抜けているからです。

`host`

  接続するホスト名

`port`

  接続するポート。

### 戻り値

LDAP URI が妥当であると思われる場合には LDAP\Connection クラスのインスタンスを返します。 これは単なる構文チェックであり、実際にサーバーに接続するわけではありません。 構文チェックに失敗した場合は `false` を返します。 失敗していない場合は、ldap_connect() は常に LDAP\Connection クラスのインスタンスを返しますが、 実際には接続せずにパラメータの初期化だけを行います。 実際に接続するのは次に ldap_* 関数がコールされた際で、これは 通常は ldap_bind() です。

引数が指定されない場合、既に開かれている接続を示す LDAP\Connection クラスのインスタンスを返します。

### 変更履歴

バージョン | 説明
--- | ---
8.4.0 | ldap_connect() を、 3 つ以上の引数でコールすることは、推奨されなくなりました。
8.3.0 | ldap_connect() に、 `hostname` と `port` を別々に渡してコールすることは、推奨されなくなりました。
8.1.0 | LDAP\Connection クラスのインスタンスを返すようになりました。 これより前のバージョンでは、 resource を返していました。

### 例

例1 LDAP サーバーに接続する例

    <?php

    // LDAP 変数
    $ldapuri = "ldap://ldap.example.com:389";  // ldap-uri

    // LDAP に接続します
    $ldapconn = ldap_connect($ldapuri)
              or die("That LDAP-URI was not parseable");

    ?>

例2 LDAP サーバーへのセキュアな接続の例

    <?php

    // サーバー証明書が証明するホストであることを
    // 確認する
    $ldaphost = "ldaps://ldap.example.com/";

    // LDAP に接続します
    $ldapconn = ldap_connect($ldaphost)
              or die("That LDAP-URI was not parseable");

    ?>

### 参考

- ldap_bind() - LDAP ディレクトリにバインドする

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open