【问题标题】:PHP on CentOS 7: LDAP could not bind to the serverCentOS 7 上的 PHP:LDAP 无法绑定到服务器
【发布时间】:2020-02-26 12:58:49
【问题描述】:

我有以下代码

    public function openConnection()
    {
        $this->ldapServerHandle = ldap_connect(ConfigH::getConfig()->ldap->host);

        $bindDN = ConfigH::getConfig()->ldap->serviceAccount->bindDN;

        if ($this->ldapServerHandle) {
            $this->ldapBindHandle = ldap_bind(
                $this->ldapServerHandle,
                $bindDN,
                ConfigH::getConfig()->ldap->serviceAccount->password
            );
            if (!$this->ldapBindHandle) {
                $errorMsg = "LDAP::__construct(): Could not bind the service account ".$bindDN;
                LoggerH::emergency($errorMsg);
                throw new LDAPException($errorMsg);
            }
        } else {
            $errorMsg = "LDAP::__construct(): Could not connect to the LDAP server ".ConfigH::getConfig()->ldap->host;
            LoggerH::emergency($errorMsg);
            throw new LDAPException($errorMsg);
        }
    }

问题

从今天早上开始,我就遇到了这个让我头疼的错误:
Warning: ldap_bind(): Unable to bind to server: Can't contact LDAP server [...]

在 Windows 上一切正常,当我在 CentOS 生产服务器上执行代码时,它停止工作。

我已经检查过的内容

  • OpenLDAP 已安装并启用
  • 可以从 CentOS 服务器访问 LDAP 服务器(Kerberos 在同一台机器上没有遇到任何问题)

我已经尝试过的

  • 重新安装了php-ldap扩展
  • 检查凭据和地址一百万次

其他信息

  • ConfigH::getConfig()->ldap->host 返回类似“adserver.ourcompany.com”的内容,这是我们的 LDAP 服务器的地址
  • ConfigH::getConfig()->ldap->serviceAccount->bindDN 返回一个有效的绑定 DN
  • ConfigH::getConfig()->ldap->serviceAccount->password 返回服务账号的密码

【问题讨论】:

    标签: php centos ldap


    【解决方案1】:

    解决办法

    使用 CentOS 的人可以获得 SELinux,是的。
    在深入挖掘 Google(例如结果的第 4 页)和 Stackoverflow 之后,我发现问题是由 SELinux 限制 httpd 通过某些端口进行通信,尽管防火墙被配置为允许它,包括 LDAP 的)。

    要允许httpd 通过这些端口进行通信,请运行以下命令

    setsebool -P httpd_can_network_connect 1
    

    (原解决方案here(WhoIsRich的回答))

    【讨论】:

    • 节省了一整天!谢谢!
    • 很高兴听到! :)
    猜你喜欢
    • 1970-01-01
    • 2019-05-30
    • 1970-01-01
    • 1970-01-01
    • 2020-07-12
    • 1970-01-01
    • 2019-02-08
    • 2015-07-22
    • 2016-05-31
    相关资源
    最近更新 更多