首页 > 解决方案 > 更改 LDAP 的端口

问题描述

我正在尝试连接到 LDAP。我知道默认端口是 389,但我们已将其更改为 636。

我有这部分代码

private static $HOST = "mywebpage.com";

// Connect to LDAP
$link_id = ldap_connect(self::$HOST);
$bind_result = ldap_bind($link_id, self::$APP_DN, self::$SERVER_PASSWORD);
error_log(print_r($link_id,true)); //returns resource id #6
error_log(print_r($bind_result,true)); //returns 1

if (!$bind_result)
{
    error_log("Failed to bind to LDAP server."); 
    throw new RuntimeException("Failed to bind to LDAP server.");
}

有没有办法以某种方式添加新端口?我试过

$link_id = ldap_connect(self::$HOST,"636");

但是没有用。

标签: phpldap

解决方案


不推荐使用ldap_connect()with 2 个参数$host并且$port不推荐使用(端口也应该是整数)。

正确的函数签名是:

ldap_connect ( string|null $uri = null ) : resource|false

LDAP URI 应该看起来像ldap://hostname:portldaps://hostname:port在使用 SSL 加密时:

$link_id = ldap_connect('ldap://' . self::$HOST . ':636');

推荐阅读