ldap_bind 不适用于 CentOS7 但适用于 Mac MAMP,我错过了什么?

ldap_bind doesn't work on CentOS7 but works on Mac MAMP, What am I missing?

我正在尝试制作一个简单的 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

它应该return像这样:

httpd_can_connect_ldap --> on

如果它 return 关闭而不是打开然后 运行 这个:

setsebool -P httpd_can_connect_ldap on

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