2011-10-21 12 views
6

Günün daha iyi bir kısmını bu soruna yakından baktım. Bir sebepten ötürü, aşağıdaki kodla neyin yanlış gittiğini anlayamıyorum. PHP Manual'da verilen örneğin kırpılmış/değiştirilmiş bir sürümüdür.PHP'de ldap_search() öğesini nasıl doğru kullanırım?

Warning: ldap_search() [function.ldap-search]: Search: Operations error in C:\wamp\www\ldap.php on line 12 

İlgili kod: Aşağıdaki kodu çalıştırdığınızda

, ben hata iletisi ben kullanıcının (Me) tam oturum akım yazdırmak için bir VBS komut dosyası kullanılan

<?php 
$ds=ldap_connect("serverName.first.second.third.fourth"); 

ldap_set_option($ds, LDAP_OPT_REFERRALS, 0); 
ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3); 

    $r=ldap_bind($ds);  
    $sr=ldap_search($ds, "OU=InfoSystems,OU=Domain Users,DC=first,DC=second,DC=third,ED=fourth", "sn=MyActualSurName"); 
    ldap_close($ds); 
?> 

DN. Bundan sonra uygun OU ve DC alanlarına taktım.

Herhangi bir yardım büyük memnuniyetle karşılanacaktır. Daha fazla açıklama gerekiyorsa, sormaktan çekinmeyin.

+0

Bunu denediniz mi? http://us3.php.net/manual/en/function.ldap-search.php#45388 –

+0

Bende. Bir çözüm olarak karşılaştığım ilk şey buydu. Kullanışlı olduğunu kabul eden başka bir çözüm olan Sürüm 3'ü zorlamak için bunu ve LDAP_OPT_PROTOCOL_VERSION kullanımını kullanıyorum. Çıktısında hiçbir değişiklik olmadan diğerini de kullanmayı denedim. –

+0

Başka önerileriniz var mı? Son birkaç günü biraz daha üzerinde çalıştım ve hiçbir şey olmadı. –

cevap

6

Sonunda sorun bulundu. AD sunucumuz anonim bağlamaya izin verir, ancak kimlik bilgileri olmadan arama yapmaya izin vermez. Yukarıdaki kod, ldap_bind() öğesini kimlik bilgileriyle çağırdığımda iyi çalışır.

İlgili konular