php - 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 连接肯定有问题。
解决方案
我想到了。在 Debian Bullseye 上,将libldap2-dev作为依赖项安装时未安装libldap-common软件包。添加libldap-common作为要在构建过程中安装的软件包解决了该问题。
推荐阅读
- python - 使用 IBM Cloud Functions 中的 BOX SDK
- javascript - 网站在本地机器上完美运行,但在实时服务器上中断
- laravel - 无法将我的 Laravel 项目与本地 MAMP 服务器连接:SQLSTATE[HY000] [2002] No such file or directory (SQL: select * from `users`)
- angular - 在查看全屏模式高位图表时隐藏导出菜单选项项(不是整个导出汉堡包)项
- java - 在 AudioTrack 上使用 Android PresetReverb
- c++ - 嵌套依赖项上的 gcc 共享库“未定义引用”
- selenium - 通过 VS Code Debug 运行时,Jest 找不到 Chromedriver
- omnet++ - 如何在 Omnet++ 项目中查找基本安全消息的数量?
- javascript - javascript window-dollarsign 方法;alert() 中的冒号
- python - 如何聚合唯一 id 具有多行且另一列具有不同值的分类数据?