http://leeon.me/a/php-with-ldap
今日需要部署一套ldap的测试环境,但发现现有php并不支持ldap模块,遂打算重新编译so,但这种方式比较麻烦并且繁琐,如果仅仅是增加一个ldap模块可以通过phpize和configure的方式编译外挂加载ldap的so文件来使php支持ldap扩展拓展。
第一步是找到当前运营环境的php版本,并将此版本的源码包放入运营机器某个目录,解压。
第二步
1 |
2 |
3 |
但是检查过程异常退出,提示如下错误:
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
始终验证不通过,这时候排查openldap2-devel版本,以为此版本比较老,就往高版本升级,但是依旧是同样的错误,最终排查觉得有可能是openldap2-client的版本和openldap2-devel版本不一致导致,于是在网上找了一个和client版本完全匹配的devel rpm包,重新configure顺利通过校验。这个问题比较奇怪,通常情况下编译php是不需要开发包和二进制包版本完全一致,但ldap的编译却需要client和devel包版本完全一致。
记得在make ,make install之后在php.ini上将ldap.so写入extension扩展配置中。