源码安装zabbix3.2.7时PHP ldap Warning
2017-08-22 12:04
375 查看
问题如下:
解决方法:
解决方法:
1、首先查看源码安装的php模块中是否有ldap.so
[root@nms ldap]# ll /usr/local/php/lib/php/extensions/no-debug-non-zts-20160303/ total 1576 -rwxr-xr-x 1 root root 129484 Aug 22 10:18 ldap.so # 出现告警是因为此模块不存在,须要编译生成此模块并重新加载 -rwxr-xr-x 1 root root 1430846 Aug 21 19:38 opcache.so [root@nms ldap]#
2、如何本机中已经有ldap.so,只须要在php.ini文件中添加extension=ldap.so
864 ; Dynamic Extensions ; 865 ;;;;;;;;;;;;;;;;;;;;;; 866 867 ; If you wish to have an extension loaded automatically, use the following 868 ; syntax: 869 extension=ldap.so #新添加内容 870 ; 871 ; extension=modulename.extension 872 ; 873 ; For example, on Windows: 874 ; 875 ; extension=msql.dll 876 ; 877 ; ... or under UNIX: 878 ; 879 ; extension=msql.so 880 ; 881 ; ... or with a path: 882 ; 883 ; extension=/path/to/extension/msql.so 884 ;
3、如果相应的模块不存在
3.1下载相应的php版本源码到主目录,进行源码编译ldap模块(重点,其他模块如果缺失编译方法一样)[root@nms ~]# tar jxvf php-7.1.7.tar.bz2 [root@nms ~]# ls anaconda-ks.cfg install.log lnmp-install.log php-7.1.7.tar.bz2 databases_backup_20170821115223 install.log.syslog php-7.1.7
[root@nms ldap]# cd /root/php-7.1.7/ext/ldap/ #进入模块所在的源码位置 [root@nms ldap]# ll total 144 -rw-rw-r-- 1 1000 1000 7374 Jul 6 17:30 config.m4 -rw-rw-r-- 1 1000 1000 1008 Jul 6 17:30 config.w32 -rw-rw-r-- 1 1000 1000 77 Jul 6 17:30 CREDITS -rw-rw-r-- 1 1000 1000 102189 Jul 6 17:30 ldap.c -rw-rw-r-- 1 1000 1000 4464 Jul 6 17:30 ldap.mak -rw-rw-r-- 1 1000 1000 1546 Jul 6 17:30 LDAP_Win32_HOWTO.txt -rw-rw-r-- 1 1000 1000 2315 Jul 6 17:30 php_ldap.h drwxrwxr-x 2 1000 1000 12288 Jul 6 17:30 tests [root@nms ldap]# /usr/local/php/bin/phpize #编译PHP扩展的工具,主要是根据系统信息生成对应的configure文件 Configuring for: PHP Api Version: 20160303 Zend Module Api No: 20160303 Zend Extension Api No: 320160303 [root@nms ldap]# ./configure --with-php-config=/usr/local/php/bin/php-config --with-ldap #编译 checking for grep that handles long lines and -e... /bin/grep checking for egrep... /bin/grep -E checking for a sed that does not truncate output... /bin/sed ........ [root@nms ldap]# make && make install #安装 /bin/sh /root/php-7.1.7/ext/ldap/libtool --mode=compile cc -DLDAP_DEPRECATED=1 -I. -I/root/php-7.1.7/ext/ldap -DPHP_ATOM_INC -I/root/php-7.1.7/ext/ldap/include -I/root/php-7.1.7/ext/ldap/main -I/root/php-7.1.7/ext/ldap -I/usr/local/php/include/php -I/usr/local/php/include/php/main -I/usr/local/php/include/php/TSRM -I/usr/local/php/include/php/Zend -I/usr/local/php/include/php/ext -I/usr/local/php/include/php/ext/date/lib -DHAVE_CONFIG_H -g -O2 -c /root/php-7.1.7/ext/ldap/ldap.c -o ldap.lo mkdir .libs cc -DLDAP_DEPRECATED=1 -I. -I/root/php-7.1.7/ext/ldap -DPHP_ATOM_INC -I/root/php-7.1.7/ext/ldap/include -I/root/php-7.1.7/ext/ldap/main -I/root/php-7.1.7/ext/ldap -I/usr/local/php/include/php -I/usr/local/php/include/php/main -I/usr/local/php/include/php/TSRM -I/usr/local/php/include/php/Zend -I/usr/local/php/include/php/ext -I/usr/local/php/include/php/ext/date/lib -DHAVE_CONFIG_H -g -O2 -c /root/php-7.1.7/ext/ldap/ldap.c -fPIC -DPIC -o .libs/ldap.o /bin/sh /root/php-7.1.7/ext/ldap/libtool --mode=link cc -DPHP_ATOM_INC -I/root/php-7.1.7/ext/ldap/include -I/root/php-7.1.7/ext/ldap/main -I/root/php-7.1.7/ext/ldap -I/usr/local/php/include/php -I/usr/local/php/include/php/main -I/usr/local/php/include/php/TSRM -I/usr/local/php/include/php/Zend -I/usr/local/php/include/php/ext -I/usr/local/php/include/php/ext/date/lib -DHAVE_CONFIG_H -g -O2 -o ldap.la -export-dynamic -avoid-version -prefer-pic -module -rpath /root/php-7.1.7/ext/ldap/modules ldap.lo -lldap -llber cc -shared .libs/ldap.o -lldap -llber -Wl,-soname -Wl,ldap.so -o .libs/ldap.so creating ldap.la (cd .libs && rm -f ldap.la && ln -s ../ldap.la ldap.la) /bin/sh /root/php-7.1.7/ext/ldap/libtool --mode=install cp ./ldap.la /root/php-7.1.7/ext/ldap/modules cp ./.libs/ldap.so /root/php-7.1.7/ext/ldap/modules/ldap.so cp ./.libs/ldap.lai /root/php-7.1.7/ext/ldap/modules/ldap.la PATH="$PATH:/sbin" ldconfig -n /root/php-7.1.7/ext/ldap/modules ---------------------------------------------------------------------- Libraries have been installed in: /root/php-7.1.7/ext/ldap/modules If you ever happen to want to link against installed libraries in a given directory, LIBDIR, you must either use libtool, and specify the full pathname of the library, or use the `-LLIBDIR' flag during linking and do at least one of the following: - add LIBDIR to the `LD_LIBRARY_PATH' environment variable during execution - add LIBDIR to the `LD_RUN_PATH' environment variable during linking - use the `-Wl,--rpath -Wl,LIBDIR' linker flag - have your system administrator add LIBDIR to `/etc/ld.so.conf' See any operating system documentation about shared libraries for more information, such as the ld(1) and ld.so(8) manual pages. ---------------------------------------------------------------------- Build complete. Don't forget to run 'make test'. Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-20160303/ #make 生成模块安装位置 [root@nms ldap]# [root@nms php-7.1.7]# ll /usr/local/php/lib/php/extensions/no-debug-non-zts-20160303/ #确认ldap.so模块存在 total 1576 -rwxr-xr-x 1 root root 129484 Aug 22 10:18 ldap.so -rwxr-xr-x 1 root root 1430846 Aug 21 19:38 opcache.so [root@nms php-7.1.7]# vi /usr/local/php/etc/php.ini #编辑php.ini,添加新生成的ldap.so模块 853 default_socket_timeout = 60 854 855 ; If your scripts have to deal with files from Macintosh systems, 856 ; or you are running on a Mac and need to deal with files from 857 ; unix or win32 systems, setting this flag will cause PHP to 858 ; automatically detect the EOL character in those files so that 859 ; fgets() and file() will work regardless of the source of the file. 860 ; http://php.net/auto-detect-line-endings 861 ;auto_detect_line_endings = Off 862 863 ;;;;;;;;;;;;;;;;;;;;;; 864 ; Dynamic Extensions ; 865 ;;;;;;;;;;;;;;;;;;;;;; 866 867 ; If you wish to have an extension loaded automatically, use the following 868 ; syntax: 869 extension=ldap.so #新添加模块 870 ; 871 ; extension=modulename.extension 872 ; 873 ; For example, on Windows: 874 ; 875 ; extension=msql.dll 876 ; 877 ; ... or under UNIX: 878 ; 879 ; extension=msql.so 880 ; [root@nms php-7.1.7]# service httpd restart #重启httpd restart apache... done
4、http://192.168.0.198/zabbix/setup.php再次进入前端安装
发现PHP LDAP模块 OK!!
5、至此zabbix 前面安装 “Check of pre-requisites”全部OK
相关文章推荐
- centos7安装zabbix3.2,Nginx+PHP+MySQL
- 运维笔记41 zabbix3.2监控搭建(rhel6.5+nginx0.7+mysql5.7+php5.6+rpm安装的zabbix3.2带详细排错过程)
- 源码安装PHP【安装zabbix监控时】
- ZABBIX-3.4.7 + MYSQL + php71w_CentOS_6.8_源码安装
- zabbix3.2学习笔记(二) 服务端源码安装
- 源码编译安装ldap+apache+php+phpldapadmin
- zabbix 3.2 CentOS7 源码安装
- linux源码编译安装php5.4.43报错Directive 'allow_call_time_pass_reference' warning
- centos7下源码方式安装gitlab8.9+发送邮件+ldap
- CentOS 7.2安装Zabbix 3.2全攻略
- Centos6.4下源码安装zabbix3.4.4
- [伊达原创]FreeBSD8.0源码编译安装MYSQL5 APACHE2.2 PHP5.3.2
- CentOS 6源码编译安装 PHP 7.0.5
- CentOS 源码编译安装LAMP(Apache MySQL PHP)
- RHEL6.4安装zabbix3.2 agent
- zabbix3.2版本安装过程
- 详解Centos源码编译安装Apache、PHP 推荐
- Freebsd php+mysql+apache 新手安装(源码安装!)
- Centos 7.3安装Zabbix3.2
- PHP内核--源码安装与介绍