Php : ldap_connect() return "Resource id #2"

Fermé
jojonewbie Messages postés 11 Date d'inscription mardi 27 juillet 2010 Statut Membre Dernière intervention 23 août 2010 - 19 août 2010 à 13:59
jojonewbie Messages postés 11 Date d'inscription mardi 27 juillet 2010 Statut Membre Dernière intervention 23 août 2010 - 19 août 2010 à 17:06
Bonjour,

J'ai écris un script php pour me connecter à un annuaire LDAP pour les besoins de mon site. La première étape est de se connecter au serveur avec la fonction :
ldap_connect($serveur, $port);

Cette fonction est sensée retourner 0 si la connexion a échoué et un entier si elle a réussie. Or moi, elle me retourne :
"Resource id #2"

Qu'est-ce que cela signifie ? Est-ce bien une erreur déjà ? J'ai beau cherché sur des forums, peu de personne ont eu affaire à cette erreur et les rares qui y ont eu le droit n'ont pas trouvé de solutions apparemment.

Quoique que je mette dans la variable $serveur, j'ai toujours ce résultat. Il faut bien mettre une adresse IP de serveur du style : 59.0.xx.xxx tout de même et normalement j'ai la bonne (idem pour le port) !

Merci d'avance pour votre aide
Cordialement
A voir également:

2 réponses

Gaunts Messages postés 1125 Date d'inscription mardi 10 août 2010 Statut Membre Dernière intervention 18 mars 2012 116
Modifié par Gaunts le 19/08/2010 à 16:31
Bonjour, je n'y connais rien en PhP, mais comme d'après ce que tu dis sur les autres forums, ce même problême n'a pas été résolu, tourne toi vers les doc.
Je vois ici: Lorsque OpenLDAP 2.x.x est utilisé, ldap_connect retournera toujours une ressource car il ne se connectera pas mais initialisera uniquement les paramètres de connexion.
Cela te dit peut etre quelque chose.
Source: http://www.manuelphp.com/php/function.ldap-connect.php
Il est expliqué commment utiliser la fonction avec OpenLDAP 2.x.x
1
jojonewbie Messages postés 11 Date d'inscription mardi 27 juillet 2010 Statut Membre Dernière intervention 23 août 2010
19 août 2010 à 17:06
Désolé, j'écrivais ma réponse pendant que tu me répondais... Oui, j'ai été voir par moi-même mais comme tu peux le lire plus loin, ça n'a pas résolu tout le problème.
Merci de ta réponse
0
jojonewbie Messages postés 11 Date d'inscription mardi 27 juillet 2010 Statut Membre Dernière intervention 23 août 2010
19 août 2010 à 16:34
J'ai continué à chercher et pour être sûr de la validité des informations que je rentrais, j'ai télécharger un petit logiciel open source d'interface avec le serveur. Et là j'ai réussi à me connecter !

En fin de compte, ce n'est peut-être pas une erreur. En effet en regardant la doc OFFICIEL de la fonction ldap_connect() (car l'on trouve beaucoup de messages qui disent pas la même chose), cette fonction retourne un objet de type "resource"... Ce qui pourrait très bien ressembler à un : Resource id #2 ! Seul mystère : pourquoi lorsque l'on rentre une adresse de serveur invalide, cela nous renvoie la même chose ?

Par contre, mon logiciel ne me demande que 3 données (minimum) pour se connecter :
- une adresse de serveur
- une base DN
- un mot de passe

J'ai donc les bonnes informations pour ces 3 là puisque cela fonctionne. Mais pour ce connecter en php (toujours avec notre fonction), il me faut aussi un login d'utilisateur qui a la syntaxe d'une DN. Et là il semble que je n'ai pas la bonne... Il y a-t-il un moyen de savoir les attributs de notre arbre LDAP pour pouvoir rentrer la bonne chose ??? Ou plus simplement comme avec mon logiciel de ne rentrer que les 3 données dont je connais la validité ?

Merci
0