Скорее всего, проблема в том, что ldap_errno
берет ресурс соединения ldap , и, если ldap_bind
не удалось, вы не можете использовать его результат для получения ошибки.
Также: вы пытались подавить ошибку с помощью знака @
?
например:.
$ldapconn = ldap_connect("localhost");
@$ldapbind = ldap_bind($ldapconn, $ldaprdn, $ldappass);
if( $ldapbind )
{
// Everything went fine
} else {
// Use the connection resource for ldap_errno
$errno = ldap_errno( $ldapconn );
// Check the error number, print an error message (...)
}