PHP Warning: ldap_bind(): Unable to bind to server: Can't contact LDAP server

前端 未结 4 605
既然无缘
既然无缘 2021-01-11 19:26

I\'ve following problem with my php script:

PHP Warning: ldap_bind(): Unable to bind to server: Can\'t contact LDAP server in ....

相关标签:
4条回答
  • 2021-01-11 19:38

    Sometime the problem will depend of your environment(Linux, Windows...) Try to bind with one of this options:

    $connect = ldap_connect("ldap://".$ldap_server);
    $auth_user = 'CN=XXX,OU=XXX,DC=XXX,DC=com';
    $bind = ldap_bind($connect, $auth_user , $auth_pass);
    

    or

    $bind = ldap_bind($connect, 'YourDomaine\\'.$auth_user , $auth_pass);
    
    0 讨论(0)
  • 2021-01-11 19:41

    Connect opens the session. Bind is what actually authenticates you. Thus you connected but did not login with valid credentials.

    0 讨论(0)
  • 2021-01-11 19:47

    Had this error on RHEL7 ( CentOS7 ) due to SELinux restricting ports HTTPD can use.

    LDAP ports 389 and 636 are not on the default allow list, you can unblock with:

    setsebool -P httpd_can_network_connect 1
    

    You can test for the restriction by trying a socket to the LDAP server:

    fsockopen('LDAP-Server-IP', 389);
    

    It will give 'Permission Denied' showing it's blocked and not a credentials issue.

    Also check your SELinux audit log file for other things being blocked.

    0 讨论(0)
  • 2021-01-11 19:55

    the ldap_bind() function asks for a three parameters:

    1. a resource id
    2. a rdn
    3. a password associated with the rdn the rdn and password are optional

    if you bind using only the resource id :-

    // $ldap=ladap_connect(*hostname*,*port*);  
    // ldap_connect() returns a resource id
    ldap_bind() returns a boolean value(true or false)  
    ldap_bind($ladp); //annonymous bind    
    $lb=ldap_bind($ldap,"uid=xxx,ou=something,o=hostname.com","password"); //used to authenticate  
    

    this should work if not then you are using invalid credentials.

    0 讨论(0)
提交回复
热议问题