php+ldap

http://leeon.me/a/php-with-ldap

今日需要部署一套ldap的测试环境,但发现现有php并不支持ldap模块,遂打算重新编译so,但这种方式比较麻烦并且繁琐,如果仅仅是增加一个ldap模块可以通过phpize和configure的方式编译外挂加载ldap的so文件来使php支持ldap扩展拓展。

第一步是找到当前运营环境的php版本,并将此版本的源码包放入运营机器某个目录,解压。

第二步

1 cd /xxx/xxx/php-5.2.17/ext/ldap/
2 /usr/local/php/bin/phpize
3 ./configure --with-php-config=/usr/local/php/bin/php-config --with-ldap

但是检查过程异常退出,提示如下错误:

 

1 checking for LDAP support... yes, shared
2 checking for LDAP Cyrus SASL support... no
3 checking for 3 arg ldap_set_rebind_proc... yes
4 checking for ldap_parse_result... no
5 checking for ldap_parse_reference... no
6 checking for ldap_start_tls_s... no
7 checking for ldap_bind_s... no
8 configure: error: LDAP build check failed. Please check config.log for more information.

始终验证不通过,这时候排查openldap2-devel版本,以为此版本比较老,就往高版本升级,但是依旧是同样的错误,最终排查觉得有可能是openldap2-client的版本和openldap2-devel版本不一致导致,于是在网上找了一个和client版本完全匹配的devel rpm包,重新configure顺利通过校验。这个问题比较奇怪,通常情况下编译php是不需要开发包和二进制包版本完全一致,但ldap的编译却需要client和devel包版本完全一致。 

记得在make ,make install之后在php.ini上将ldap.so写入extension扩展配置中。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值