2017-08-23 42 views
1

我試圖做一個簡單的ldap綁定,出於某種原因在MAMP堆棧上工作,但不是當我將代碼複製到CentOS7時。我安裝了php的LDAP模塊。ldap_bind在CentOS7上不起作用,但適用於Mac MAMP,我錯過了什麼?

<?php 
error_reporting(E_ALL); 
ini_set('display_errors', 1); 

    if(extension_loaded('ldap')){ 
    print "LDAP Module enabled<br>"; 
    } 

    $ldaphost = "ldap://ldap.myschool.edu"; 
    $ldapconn = ldap_connect($ldaphost) 
      or die("Could not connect to {$ldaphost}"); 

    if($ldapconn){ 
    echo "LDAP Connections Success...<br>"; 
    } 
    $ldaprdn = '[email protected]'; 
    $ldappass = 'password'; 

    if($ldapconn){ 
    $ldapbind = ldap_bind($ldapconn, $ldaprdn, $ldappass); 
    var_dump($ldapbind); 
    if ($ldapbind) { 
     echo "LDAP bind successful...<br>"; 
    } else { 
     echo "LDAP bind failed...<br>"; 
    } 
    } 



?> 

我不確定它爲什麼對MAMP有效,而不是CentOS7。我試圖禁用防火牆,並給予apache完整的讀寫執行,但似乎並非如此。是否有另一個我需要安裝的軟件包?如果有幫助,LDAP服務器與運行此腳本的服務器不同。

回答

1

登錄到服務器(代碼正在上執行的一個),並運行此命令:

getsebool -a | grep http | grep的LDAP

它應該返回是這樣的:

httpd_can_connect_ldap --> on 

如果返回關斷,而不是再上運行此:

setsebool -P httpd_can_connect_ldap上

這將允許服務器通過http連接到ldap

相關問題