0
我已瀏覽了很多關於此問題的問題,並且已經用盡了我的選項,所以在這裏。我有一個Windows 2008R2域控制器。我使用PHP從不同的服務器,同一個域使用LDAP連接到它。 (另外Win2008R2,IIS7.5)我已確保了下列關於所述PHP LDAPS綁定失敗,我錯過了什麼使這項工作?
- 證書的域控制器已經被導入到 受信任的根機構存儲的PHP機器上
- 我已經使用LDP.EXE PHP機可以連接並綁定在使用DC的名稱和端口LDAPS 636
- 我的用戶憑據正確
- 我可以在PHP就好使用LDAP端口389連接
這裏是我的代碼:
putenv('LDAPTLS_REQCERT=never');
$host = "ldaps://mydc.thing.com:636";
$dn = "Admin User";
$dnp = "adminPaSwOrD";
$base = "DC=thing,DC=com";
$scope = "sub";
ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3);
ldap_set_option($ds, LDAP_OPT_REFERRALS, 0);
$ds = ldap_connect($host);
$r=ldap_bind($ds, $dn, $dnp);
錯誤消息始終是:
PHP Warning: ldap_sasl_bind() [<a href='function.ldap-sasl-bind'>function.ldap-sasl-bind</a>]: Unable to bind to server: Can't contact LDAP server in ...
相關信息PHP:
#Version 5.3.8
#cURL: 7.22.0, SSL:yes, dict, file, ftp, ftps, gopher, http, https, imap, imaps, ldap, pop3, pop3s, rtsp, scp, sftp, smtp, smtps, telnet, tftp
#LDAP: enabled, SASL: enabled, OpenLdap v.20319
我已經沖刷護目鏡和嘗試了不少東西我自己。奇怪的部分是PHP機器上的LDAP客戶端可以連接並綁定到DC,而不是在PHP中。我也從CLI嘗試過PHP(將IIS從混合中刪除),並返回相同的錯誤。
任何幫助將不勝感激。
SG
您是否嘗試過在https://stackoverflow.com/questions/5258556/problems-with-secure-bind-to-active-directory-using-php中提到的建議? – Yuvika 2014-09-01 07:53:13
@YSU - 是的,我已經把putenv('LDAPTLS_REQCERT = never');在腳本的頂部以及將ldap.conf放在根目錄(c:\)以及建議的文件夾c:\ openldap \ sysconf \中,都無濟於事。也許我應該升級PHP?我想我會嘗試。我嘗試連接時,我的證書有效,並且DC側沒有SSL錯誤。 – 2014-09-01 10:40:04