zabbix php ldap off,源码安装zabbix3.2.7时PHP ldap Warning

问题如下:

d3a0a15f1e7c2c7c66d7e25c0ac7e6c5.png

解决方法:

1、首先查看源码安装的php模块中是否有ldap.so

[[email protected] 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

[[email protected] 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 following868; syntax:869 extension=ldap.so #新添加内容870;871 ; extension=modulename.extension872;873; For example, on Windows:874;875 ; extension=msql.dll876;877; ... or under UNIX:878;879 ; extension=msql.so880;881; ... or with a path:882;883 ; extension=/path/to/extension/msql.so884 ;

3、如果相应的模块不存在

3.1下载相应的php版本源码到主目录,进行源码编译ldap模块(重点,其他模块如果缺失编译方法一样)

[[email protected] ~]# tar jxvf php-7.1.7.tar.bz2 lsanaconda-ks.cfg install.log lnmp-install.log php-7.1.7.tar.bz2

databases_backup_20170821115223install.log.syslog php-7.1.7

[[email protected] ldap]# cd /root/php-7.1.7/ext/ldap/ #进入模块所在的源码位置

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

[[email protected] ldap]# /usr/local/php/bin/phpize #编译PHP扩展的工具,主要是根据系统信息生成对应的configure文件

Configuring for:

PHP Api Version:         20160303

Zend Module Api No:      20160303

Zend Extension Api No:   320160303

[[email protected] 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

........

[[email protected] 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 生成模块安装位置

[[email protected] ldap]#

[[email protected] 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

[[email protected] 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 ;

[[email protected] 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

bc15c28c0fe1af3eae92c99d96f32970.png

原文:http://www.cnblogs.com/me80/p/7410958.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值