2016-04-14 8 views
0

Ich habe Openldap in Ubuntu 14.04 installiert und ich habe auch phpldadmin installiert alles sieht gut aus bis zu diesem Schritt, aber wenn ich versuche, eine Verbindung herzustellen meine pHP-Anwendung mit diesem Skript habe ich die gleiche Antwort als Ergebnis Ressource-ID # 2Konnte meine Ohp-Anwendung nicht mit Opendap-Server mit ldap_connect() verbinden, return ressource id # 2

dies mein Skript ist:

$ds=ldap_connect("ladp://192.168.1.2",389)or die("Could not connect to $ldaphost"); 

echo 'Le résultat de connexion est ' . $ds . '<br />'; 

if ($ds) { 
echo 'Liaison ...'; 
$username = "cn=admin,dc=ldap,dc=com"; 
$upasswd = "password"; 
$r=ldap_bind($ds,$username, $upasswd);  
echo 'Le résultat de connexion est ' . $r . '<br />'; 
+0

Ist es so einfach wie 'LADP testen müssen:' =/= 'ldap:', Minor Typo – RiggsFolly

+0

Was waren erwartest du? ldap_bind() ist äquivalent zu mysql [i] _connect(), da es eine Verbindung zu einem Dienst herstellt (aber die von ldap_connect() erstellte Ressource als Argument benötigt - ldap_connect() verbindet sich nicht wirklich). Wenn es eine Ressourcen-ID zurückgibt, ist es erfolgreich. Sie müssen noch eine Abfrage senden, um einige Daten zurück zu erhalten. – symcbean

+0

Ja, ich weiß, dass es nicht tatsächlich verbindet, aber die Variable $ ds gibt immer Ressourcen-ID # 2 zurück, auch wenn ich einen ungültigen Host eingeben –

Antwort

0

Wenn Sie LDAP 2

Wenn OpenLDAP 2 verwenden. xx wird verwendet, ldap _connect() gibt immer eine Ressource zurück, da sie keine Verbindung herstellt, sondern nur die Verbindungsparameter initialisiert. Die eigentliche Verbindung erfolgt mit den nächsten Aufrufen von ldap_ * -Funcs, normalerweise mit ldap_bind().

Ich glaube, Sie könnten das Ergebnis der ldap_bind() wie dieser Vorschlag in the manual

<?php 

    $ds=ldap_connect("ldap://192.168.1.2",389)or die("Could not connect to $ldaphost"); 

    $username = "cn=admin,dc=ldap,dc=com"; 
    $upasswd = "password"; 
    $r=ldap_bind($ds,$username, $upasswd); 
    // verify binding 
    if ($r) { 
     echo 'Le résultat de connexion est ' . $r . '<br />'; 
    } else { 
     echo "LDAP bind failed...\n"; 
     echo ldap_error($ds); 
    } 
+0

zeigt mir immer noch 'Liaison ...' –

+0

Sie verwenden dann nicht meinen Antwortcode. REFRESH Auf der Seite 'STRG + F5' sehen Sie möglicherweise eine vorherige Änderung. Mein Code enthält diese Zeile nicht – RiggsFolly

+0

Wenn ich es mit Ihrem Code versuchte es ist nichts zeigt ich denke, die Variable $ r ist null –