ldap_bind 在 CentOS7 上不起作用,但在 Mac MAMP 上工作,我错过了什么?



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

如果它返回关闭而不是关闭,则运行以下命令:

塞布尔 -P httpd_can_connect_ldap 上

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

相关内容

最新更新