Php ldap#u bind不';我不能在CentOS7上工作,但可以在Mac MAMP上工作,我缺少什么?
我正试图创建一个简单的ldap绑定,由于某些原因,它可以在MAMP堆栈上工作,但在我将代码复制到CentOS7时却不能。我安装了php的LDAP模块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.
<?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