J'ia une question concernant l'intéraction entre php et un serveur ldap.
Supposons que mon serveur a la config suivante:
login: admin
pwd: adminpwd
Le serveur est sur ma machine dont l'hôte est localhost.
Voici mon code php actuellement:
CODE
// config
$server = "localhost";
$port = 389;
$racine = "dc=elodig,dc=fr";
$rootdn = "cn=admin,dc=elodig,dc=fr";
$rootpw = "adminpwd";
$version = 3;
// connection
$ds=ldap_connect($server);
if ($ds)
{
if(!ldap_get_option($ds, LDAP_OPT_PROTOCOL_VERSION, $version))
ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3);
$r=ldap_bind($ds,$rootdn,$rootpw);
$entry["cn"]="Robert Toto";
$entry["sn"]="Toto";
$entry["mail"][0]="robert.toto_AT_elolo.fr";
$entry["mail"][1]="robert.toto_AT_gmail.com";
$entry["objectclass"][0] = "person";
$entry["objectclass"][1] = "test";
$entry["objectclass"][2] = "test2";
$entry["objectclass"][3] = "test3";
// insert data into the ldap server
$r=ldap_add($ds, "cn=Robert Toto,dc=elodig,dc=fr", $entry);
ldap_close($ds);
} else {
echo "Connexion au serveur LDAP impossible";
}
Et voici les messages d'erreur qu'il retourne:
Warning: ldap_bind() [function.ldap-bind]: Unable to bind to server: Protocol error in... (ligne où ldap_bind est appelée)
Warning: ldap_add() [function.ldap-add]: Add: Invalid syntax in... (ligne où ldap_add est appelée)
Je suis sur Linux, Kubuntu 7.10 Gutsy.
J'ai installé les packets suivants: slapd & ldap-utils, changé de mot de passe, fait un test avec un fichier ldif. En ligne de commande, ça marche nickel chrome. Je le lance, j'ajoute, je sélectionne, etc...
J'ai installé phpldapadmin qui me donne une GUI mais il m'est impossible de me connecter au serveur.
Si vous avez une idée...
Merci !