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);
?>