首页 > 解决方案 > docker image php:7.4-apache / bullseye 上的 LDAP 绑定失败

问题描述

我有一个使用 docker 容器 php:7.4-apache 用 PHP 编写的应用程序,但是最近 php docker 容器已更新为使用 Debian Bullseye 作为基础映像。

自从这次更新以来,我不再能够执行 LDAP 绑定。无论我尝试什么,它都会失败并在打开 ldap 调试时给我以下错误:

ldap_set_option(NULL, LDAP_OPT_DEBUG_LEVEL, 7);

TLS: can't connect: (unknown error code).
ldap_err2string

Github 上有一个关于 php docker 镜像的问题,但是它已关闭,建议我们直接使用 php:7.4-apache-buster 镜像。这确实有效,但是最好弄清楚发生了什么,这样我们就可以升级到未来的 Bullseye 版本。

https://github.com/docker-library/php/issues/1194

然而,就在我写这篇文章的时候,我关闭了 ldap 的 TLS 并转到了我的 LDAP 服务器的未加密 389 端口并且它工作正常,所以 TLS 连接肯定有问题。

标签: phpdockerldap

解决方案


我想到了。在 Debian Bullseye 上,将libldap2-dev作为依赖项安装时未安装libldap-common软件包。添加libldap-common作为要在构建过程中安装的软件包解决了该问题。


推荐阅读