zabbix编译解决ldap问题
// 今天安装zabbix发现ldap出错
解决措施
// php-7.2.24的解压的包的位置
[root@192 ldap]# pwd
/usr/local/php-7.4.24/ext/ldap //进入此目录下
// 进行预编译
[root@192 ldap]# /usr/local/php7/bin/phpize //php7编译安装的位置
// 若出现下面的问题,意思就是说找不到autoconf。我们直接安装
Cannot find autoconf. Please check your autoconf installation and the
$PHP_AUTOCONF environment variable. Then, rerun this script.
// 解决办法
[root@192 ldap]# yum -y install autoconf
// 此时我们再次执行
[root@192 ldap]# /usr/local/php7/bin/phpize //出现如下内容,表示没有问题
Configuring for:
PHP Api Version: 20190902
Zend Module Api No: 20190902
Zend Extension Api No: 320190902
// 进行编译安装
[root@192 ldap]# pwd
/usr/local/php-7.4.24/ext/ldap
[root@192 ldap]# ./configure --with-php-config=/usr/local/php7/bin/php-config --with-ldap
// 编译时若出现如下错误
configure: error: Cannot find ldap libraries in /usr/lib. //找不到 ldap库
// 解决办法
[root@192 ldap]# vim /etc/php.ini //修改php.ini文件
888 ; If you wish to have an extension loaded automatically, use the following
889 ; syntax:
890 extension=ldap.so
891 ; extension=modulename
// 若不到文件在哪的朋友可以使用如下命令
[root@192 ldap]# find / -name php.ini
[root@192 ldap]# find / -name ldap.so
/usr/lib64/ldb/modules/ldb/ldap.so
[root@192 ldap]# cp -rp /usr/lib64/libldap* /usr/lib/
[root@192 ldap]# make && make install
// 若make install执行完之后出现如下内容
- use the `-Wl,--rpath -Wl,LIBDIR' linker flag
- have your system administrator add LIBDIR to `/etc/ld.so.conf'
// 解决措施如下:
[root@192 ldap]# tail -1 /etc/ld.so.conf //在此文件的最后一行如下内容
/usr/local/lib
[root@192 ldap]# ldconfig //使用命令重新加载配置文件
[root@192 ldap]# systemctl restart php-fpm.service //别忘记重启php
友情提示可能出现上面以外的其他错误
// 如在解决错误的过程出现下面这个问题
error:configure: error: Cannot find ldap.h
//解决措施
[root@192 ~]# yum -y install openldap openldap-devel
// 此时我们可以看到ldap处于ok状态了