2

私はPHPでLDAPを実装していますが、これはかなり簡単に進んでいると言わざるを得ません。ただし、die()関数の戻り値の使用またはチェックに関して質問があります。以下のコード (ここから取得)から、$ldapconn? とにかく何か問題が発生した場合、PHPは終了するはずではありませんか?die()ldap_connectdie()ldap_connect

// connect to ldap server
$ldapconn = ldap_connect("ldap.example.com")
    or die("Could not connect to LDAP server.");

if ($ldapconn) {

    // binding to ldap server
    $ldapbind = ldap_bind($ldapconn, $ldaprdn, $ldappass);

    // verify binding
    if ($ldapbind) {
        echo "LDAP bind successful...";
    } else {
        echo "LDAP bind failed...";
    }

}
4

4 に答える 4

3

何の役にも立ちません。ldap_connect は失敗すると false を返すため、2 つのうちの 1 つを削除できます。

ダイを削除して、適切なエラー処理を追加することをお勧めします。

ソース: PHP ldap_connect

PHP5.3 での ldap_connect のテストには注意が必要です。ldap_connect が常に true を返す任意のサーバー (既存または非存在) に正常に接続できます。リンク タイプは常に ldap_connection ですが、実際には機能しない場合や成功しない場合があります。@ldap_bind で接続が有効であることを確認してから、エラーを確認することをお勧めします。

于 2011-05-03T13:12:01.123 に答える
2

そうです、それはかなり冗長です。

余談ですがdie、モックアップ プロトタイプまたは非常に単純な CLI スクリプトでのみ使用する必要があります。die「実際の」Web サイトの場合は、単にing するのではなく、エラーをより適切に処理し、適切なエラー ページを出力する必要があります。

于 2011-05-03T13:12:28.307 に答える
0

接続が失敗した場合、ldap_connect() は false を返します。この場合、スクリプトは die() によって停止され、メッセージが返されます。この行より下の他のコードは実行されません。

于 2011-05-03T13:13:01.673 に答える
0

エラーの場合、ldap_connect は false を返します。サイコロは、開発者が見られるように読み取り可能なエラー/警告を設定できるため、そこで役立ちます。

于 2011-05-03T13:14:19.767 に答える