php - 更改 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");
但是没有用。
解决方案
不推荐使用ldap_connect()
with 2 个参数$host
并且$port
不推荐使用(端口也应该是整数)。
正确的函数签名是:
ldap_connect ( string|null $uri = null ) : resource|false
LDAP URI 应该看起来像ldap://hostname:port
或ldaps://hostname:port
在使用 SSL 加密时:
$link_id = ldap_connect('ldap://' . self::$HOST . ':636');
推荐阅读
- php - Laravel 加入没有正确返回数据
- google-cloud-platform - 处理 Cloud Run 容器关闭
- mongodb - 为什么当 MongoDB 副本集分片成员之一下线时,其他 CPU 的峰值达到 100%?
- c# - 从 PSCmdlet 类 (C#) 在主机 Powershell 中调用原始命令
- c# - 先前工作代码中带有语句体错误的 Lambda 表达式
- python - 在 pytest 中,如何中止夹具拆卸?
- ckeditor - CKEditor 4 - 删除图像工具栏按钮导致图像对话框不再显示宽度和高度属性
- r - 传入列名作为参数
- javascript - 在 Javascript 中从父级返回子 ID 列表
- jquery - 除非事先选择,否则 JQuery 试图在下拉菜单中隐藏一个选项