Php ldap#u bind不';我不能在CentOS7上工作,但可以在Mac MAMP上工作,我缺少什么?

Php ldap#u bind不';我不能在CentOS7上工作,但可以在Mac MAMP上工作,我缺少什么?,php,ldap,centos7,Php,Ldap,Centos7,我正试图创建一个简单的ldap绑定,由于某些原因,它可以在MAMP堆栈上工作,但在我将代码复制到CentOS7时却不能。我安装了php的LDAP模块 <?php error_reporting(E_ALL); ini_set('display_errors', 1); if(extension_loaded('ldap')){ print "LDAP Module enabled<br>"; } $ldaphost = "ldap://ldap.

我正试图创建一个简单的ldap绑定,由于某些原因,它可以在MAMP堆栈上工作,但在我将代码复制到CentOS7时却不能。我安装了php的LDAP模块

    <?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 = 'johnSmith@myschool.edu';
  $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服务器与运行此脚本的服务器不同(如果有帮助)。

登录到服务器(执行代码的服务器)并运行以下命令:

getsebool-a | grep http | grep ldap

它应该返回如下内容:

httpd_can_connect_ldap --> on
如果它返回off而不是on,则运行以下操作:

setsebool-p httpd_can_connect_ldap on

这将允许服务器通过http连接到ldap