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