首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Docker-container中使用ldap

在Docker-container中使用ldap
EN

Stack Overflow用户
提问于 2019-06-10 18:01:11
回答 2查看 3.8K关注 0票数 2

我有两个码头集装箱。在第一个docker-container里面是我的lamp应用程序和php-7.3.4,apache2;在第二个docker-container里面是mysql数据库。

我尝试在第一个容器内连接ldap服务器。我进入'test-project‘文件夹并配置了custom_config.inc.php

代码语言:javascript
运行
复制
 $tlCfg->authentication['method'] = 'LDAP';

 $tlCfg->authentication['ldap_server'] = 'ldap.xyz.com';
 $tlCfg->authentication['ldap_port'] = '389';
 $tlCfg->authentication['ldap_version'] = '3';
 $tlCfg->authentication['ldap_root_dn'] = 'dc=xyz,dc=com';
 $tlCfg->authentication['ldap_bind_dn'] = 'uid=tl,ou=staff,dc=xyz,dc=com';
 $tlCfg->authentication['ldap_bind_passwd'] = 'XYZw';
 $tlCfg->authentication['ldap_tls'] = false; // true -> use tls

在我尝试通过ldap凭据登录到网页并抛出http错误500之后

当我查看日志时,我得到了:

错误:https://imgur.com/a/HQEZT3X

代码语言:javascript
运行
复制
PHP Fatal error: Uncaught Error: Call to undefined function 
ldap_connect() in 
var/www/html/testlink/lib/functions/ldap_api.php:42\nStack trace :\n#0                     
/var/www/html/testlink/functions/ldap_api.php(165): 
ldap_connect_bind(Array)\n#1 
var/www/html/testlink/lib/functions/doAuthorize.php(200): 
ldap_authenticate('test_user', 'test')\n#2 
var/www/html/testlink/lib/functions/doAuthorize.php(90): 
auth_does_password_match(Object(tlUser), 'test')\n#3 
var/www/html/testlink/login.php(45): doAuthorize(Object(database), 
'test_user', 'test', Object(stdClass))\n#4 {main}\n thrown in 
var/www/html/testlink/lib/functions/ldap_api.php on line 42, refer: 
http://***.**.com/login.php

如何配置ldap?

EN

回答 2

Stack Overflow用户

发布于 2020-01-22 20:30:06

您需要在php Dockerfile中放入以下行

代码语言:javascript
运行
复制
RUN apt-get update && apt-get install -y \
    libldap2-dev

RUN docker-php-ext-configure ldap --with-libdir=lib/x86_64-linux-gnu/
RUN docker-php-ext-install ldap
票数 2
EN

Stack Overflow用户

发布于 2019-06-11 03:52:06

您的missing / PHP容器缺少PHP LDAP扩展。您需要重新构建该容器,使其包含PHP LDAP扩展,或者需要使用像https://packagist.org/packages/freedsx/LDAP这样的用户域LDAP库(从未使用过它,所以不能透露任何信息)。注意,Userland库使用与PHP扩展不同的API,因此需要重写代码。因此,最终重建容器可能是更简单的解决方案。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56524197

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档