zoukankan      html  css  js  c++  java
  • lnmp 下 php 安装 ldap 扩展

    lnmp 下 php 安装 ldap 扩展

    • 使用一键 lnmp 安装的 web 环境缺少 LDAP 模块,需要手动编译安装该模块

    1.查看PHP编译参数

    1.1.phpinfo() 函数

    • 浏览器访问 phpinfo() 函数,提供参数时可查看特定配置

    1.2.php -i 查看 PHP 配置信息

    • Linux 下执行
    php -i|grep configure
    
    --------------------------
    root@Uzuiyouijie:~# php -i|grep configure
    Configure Command =>  './configure'  '--prefix=/usr/local/php' '--with-config-file-path=/usr/local/php/etc' '--with-config-file-scan-dir=/usr/local/php/conf.d' '--enable-fpm' '--with-fpm-user=www' '--with-fpm-group=www' '--enable-mysqlnd' '--with-mysqli=mysqlnd' '--with-pdo-mysql=mysqlnd' '--with-iconv-dir' '--with-freetype=/usr/local/freetype' '--with-jpeg' '--with-png' '--with-zlib' '--enable-xml' '--disable-rpath' '--enable-bcmath' '--enable-shmop' '--enable-sysvsem' '--enable-inline-optimization' '--with-curl' '--enable-mbregex' '--enable-mbstring' '--enable-intl' '--enable-ftp' '--enable-gd' '--with-openssl' '--with-mhash' '--enable-pcntl' '--enable-sockets' '--with-xmlrpc' '--with-zip' '--without-libzip' '--enable-soap' '--with-gettext' '--enable-opcache' '--with-xsl' '--with-pear'
    

    1.3.php -m 查看 PHP 开启的扩展模块

    • Linux、Windows中都可以用
    php -m
    

    1.4.php --ini 查看加载的配置文件信息

    php --ini
    

    2.安装 PHP 扩展模块

    • LNMP 安装完成会清理源码包所以需要重新解压编译 PHP 模块

    2.1.编译安装 ldap 模块

    cd /opt/tools/lnmp1.8-full/src
    tar -xf php-7.4.19.tar.bz2
    cd php-7.4.19/ext/ldap
    
    /usr/local/php/bin/phpize
    ----------------------
    root@zuiyoujie:/opt/tools/lnmp1.8-full/src/php-7.4.19/ext/ldap# /usr/local/php/bin/phpize
    Configuring for:
    PHP Api Version:         20190902
    Zend Module Api No:      20190902
    Zend Extension Api No:   320190902
    ----------------------
    
    # 编译 ldap 模块
    ./configure --with-php-config=/usr/local/php/bin/php-config  --with-ldap
    
    # 出现以下信息表示编译成功
    ------------------
    creating libtool
    appending configuration tag "CXX" to libtool
    configure: creating ./config.status
    config.status: creating config.h
    ------------------
    
    # 安装编译的模块
    make && make install
    
    # 检查 ldap 模块是否安装成功
    ll /usr/local/php/lib/php/extensions/
    

    2.2.修改 PHP 配置并重启服务

    • 增加 ldap 模块配置
    # 查看 PHP 配置信息
    root@zuiyoujie:/opt/tools/lnmp1.8-full/src/php-7.4.19/ext/ldap# php --ini 
    Configuration File (php.ini) Path: /usr/local/php/etc
    Loaded Configuration File:         /usr/local/php/etc/php.ini
    Scan for additional .ini files in: /usr/local/php/conf.d
    Additional .ini files parsed:      (none)
    
    vim /usr/local/php/etc/php.ini
    -----------------
    extension=ldap
    -----------------
    
    • 重启 PHP 服务,使 ldap 模块生效
    service php-fpm restart
    
    # 或者
    /etc/init.d/php-fpm restart
    

    3.报错处理

    3.1.编译报错处理: configure error: Cannot find header file 'ldap.h'

    # ubuntu18 安装 ldap 相关文件,生成 ldap.h
    apt-cache search ldap | grep ldap
    apt-get install libldap2-dev
    
    # 查找 ldap.h 文件
    whereis ldap
    ls -lh /usr/include/ldap*
    root@zuiyoujie:/opt/tools/lnmp1.8-full/src/php-7.4.19/ext/ldap# ls -lh /usr/include/ldap*
    -rw-r--r-- 1 root root 9.3K Feb 18 22:22 /usr/include/ldap_cdefs.h
    -rw-r--r-- 1 root root 1.8K Feb 18 22:22 /usr/include/ldap_features.h
    -rw-r--r-- 1 root root  64K Feb 18 22:22 /usr/include/ldap.h
    -rw-r--r-- 1 root root 9.3K Feb 18 22:22 /usr/include/ldap_schema.h
    -rw-r--r-- 1 root root 3.4K Feb 18 22:22 /usr/include/ldap_utf8.h
    
    # 重新编译安装-需要指定 ldap 相关文件位置
    ./configure --with-php-config=/usr/local/php/bin/php-config --with-ldap=/usr/include
    make && make install
    
    # 检查 PHP 模块安装结果
    ls -lh /usr/local/php/lib/php/extensions/no-debug-non-zts-20190902/
    ------------------------
    root@zuiyoujie:/opt/tools/lnmp1.8-full/src/php-7.4.19/ext/ldap# ll /usr/local/php/lib/php/extensions/no-debug-non-zts-20190902/
    total 9260
    drwxr-xr-x 2 root root    4096 Jun  1 21:23 ./
    drwxr-xr-x 3 root root    4096 Jun  1 21:08 ../
    -rwxr-xr-x 1 root root  298272 Jun  1 21:23 ldap.so*
    -rwxr-xr-x 1 root root 6267766 Jun  1 21:08 opcache.a*
    -rwxr-xr-x 1 root root 2902072 Jun  1 21:08 opcache.so*
    
    # 修改 PHP 配置文件 重启 PHP 服务
    

    10.参考地址

    https://blog.csdn.net/caiyiii/article/details/19047187
    https://www.itbiancheng.com/article/5138.html
    https://my.oschina.net/nYtgEmMGe/blog/496859
    
    本文版权归作者和博客园共有,如需转载请在文章页面给出原文链接,否则保留追究法律责任的权利。
  • 相关阅读:
    获取全部校园新闻
    爬取校园新闻首页的新闻的详情,使用正则表达式,函数抽离
    网络爬虫基础
    数据库随笔
    2017.2.10总结
    书籍相关
    全排列和全组合
    面试积累1
    分布式框架学习目标
    mac上设置sudo不要密码
  • 原文地址:https://www.cnblogs.com/tssc/p/14841214.html
Copyright © 2011-2022 走看看