Bueno, me respondo a mi mismo... buscando y probando millones de cosas al final he encontrado un código de ejemplo, que aunque es prácticamente igual al que estaba usando, añade ciertos campos a la búsqueda y esta vez la búsqueda se ha realizado correctamente, así que deduzco que el error era un problema de sintaxis.
El ejemplo que probé está en: http://www.mail-archive.com/php-windows-digest@lists.php.net/msg00666.html
Y quedaría algo así
El ejemplo que probé está en: http://www.mail-archive.com/php-windows-digest@lists.php.net/msg00666.html
Y quedaría algo así
Código [Seleccionar]
<?php $ldaprdn = 'usuario@empresa.dominio'; $ldappass = 'contraseña'; $ds = 'empresa.dominio'; $dn = 'dc=empresa,dc=dominio'; $puertoldap = 389; $ldapconn = ldap_connect($ds,$puertoldap) or die("ERROR: No se pudo conectar con el Servidor LDAP."); if ($ldapconn) { ldap_set_option($ldapconn, LDAP_OPT_PROTOCOL_VERSION,3); ldap_set_option($ldapconn, LDAP_OPT_REFERRALS,0); $ldapbind = ldap_bind($ldapconn, $ldaprdn, $ldappass); if ($ldapbind) { echo "LDAP bind realizado correctamente..."; $filter = "(cn=*)"; $fields = array("sn", "mail"); $sr = ldap_search($ldapconn, $dn, $filter, $fields); $info = ldap_get_entries($ldapconn, $sr); echo("<br><br>Obtenidas ".$info["count"]."entradas. <br><br>"); for ($i=0; $i<$info["count"]; $i++) { if(!empty($info[$i]["sn"][0])) echo "<br><br> Apellido: " . $info[$i]["sn"][0]; if (!empty($info[$i]["mail"][0])) echo "<br> mail: " . $info[$i]["mail"][0]; } } else { echo "Error en LDAP bind..."; } } ldap_close($ldapconn); ?>