簡體   English   中英

PHP 警告:ldap_bind():無法綁定到服務器:無法聯系 LDAP 服務器

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

我的 php 腳本有以下問題:

PHP 警告:ldap_bind():無法綁定到服務器:無法在...中聯系 LDAP 服務器。

ldap_connect()說“成功”但ldap_bind()失敗,如何解決這個問題?

由於 SELinux 限制 HTTPD 可以使用的端口,在 RHEL7 ( CentOS7 ) 上出現此錯誤。

LDAP 端口 389 和 636 不在默認允許列表中,您可以通過以下方式取消阻止:

setsebool -P httpd_can_network_connect 1

您可以通過嘗試連接到 LDAP 服務器的套接字來測試限制:

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

它將給出“權限被拒絕”,顯示它已被阻止,而不是憑據問題。

還要檢查您的 SELinux 審核日志文件是否有其他被阻止的內容。

Connect 打開會話。 綁定實際上是對您進行身份驗證的內容。 因此,您已連接但未使用有效憑據登錄。

有時問題將取決於您的環境(Linux、Windows ...)嘗試使用以下選項之一進行綁定:

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

或者

$bind = ldap_bind($connect, 'YourDomaine\\'.$auth_user , $auth_pass);

ldap_bind() 函數需要三個參數:

  1. 資源標識
  2. 編號
  3. 與 rdn 關聯的密碼 rdn 和密碼是可選的

如果您僅使用資源 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  

如果沒有,這應該可以工作,那么您使用的是無效憑據。

597/5000您好,我有一個在ISS / PHP服務器上正常運行的網站,將該站點移至另一個apache / php服務器,我收到了第一條錯誤消息“致命錯誤:調用未定義函數:ldap_connect()”。 我通過復制致命錯誤上所示的libsasl.dll來糾正此問題:調用未定義函數:ldap_connect()現在,我收到錯誤消息“ ldap_bind():無法綁定到服務器:無法聯系LDAP服務器”我該怎么辦在我的新服務器上使其工作? 先感謝您

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM