私はsymfony3でLdapクラスの使い方を理解しようとしています。私は正常に作成し、接続をバインドしましたが、私はクエリの結果を得ることができません。クエリが実際に動作することを確認するために、私は裸のPHPバージョンを実行しました:バニラPHPのLDAPクエリが動作します。 Symfony 3のLDAPクエリが失敗します。どうして?
if($lconn = ldap_connect('ds.mydomain.ca')){
ldap_set_option($lconn, LDAP_OPT_REFERRALS, 0);
ldap_set_option($lconn, LDAP_OPT_PROTOCOL_VERSION, 3);
if($lbind = ldap_bind($lconn,'webuser','password')){
$filter ="(&(sn=Smith)(givenname=J*))";
if(!$result = ldap_search($lconn, "dc=ds, dc=mydomain, dc=ca", $filter)) throw \Exception("Error in search query: ".ldap_error($lconn));
$output = ldap_get_entries($lconn, $result);
}else{
$output='bind failed';
}
} else {
$output= 'connection failed';
}
結果の期待数を返します。
//use Symfony\Component\Ldap\Ldap
$ldap = Ldap::create('ext_ldap', array(
'host' => 'ds.mydomain.ca',
'version' => 3,
'debug' => true,
'referrals' => false,
));
$ldap->bind('webuser', 'password');
$q = $ldap->query("dc=ds, dc=nrc, dc=ca", "(&(sn=Smith)(givenname=J*))");
$output = $q->execute();
のSymfony LDAPクエリは、すべてのオプションが、私は裸のために使用されるものと同一でなければならない時に失敗した理由を任意のアイデアを:一方で、symfonyの3のLDAPコンポーネントで行われ、このクエリが0の結果を返します
PHPのクエリ?
'$ output-> toArray()'と同じように何も表示されません。 Symfony LDAPクエリはコレクションクラスを返します。 – ChadSikorra
@ChadSikorra私はTwig 'dump'関数を使ってコレクションを表示します。エントリ数は0です。 – dnagirl