PHP扩展ldap安装


对于任何一个研发团队,一套内部通用的帐号管理系统都是必不可少的。请注意是“内部通用”

    公司内部可能有各种系统:

        行政层面的OA系统、邮件系统、会议室预订系统。

        研发团队内部又可能有代码管理、项目进度管理、Bug追踪、依赖管理、Wiki等等。

    如果没有内部通用帐号,那么每来一个新员工,就需要到上述所有系统中,分别注册一次。想象一下,这是多么让人头疼的事情!

    因此,我们建议团队一定要拥有一套"内部通用"的帐号管理系统。

    在这里,我们选用了LDAP(Lightweight Directory Access Protocol)。是一个开放的,中立的,工业标准的应用协议,通过IP协议提供访问控制和维护分布式信息的目录信息。

    在技术型团队中,LDAP可以当作内部帐号管理系统来使用。此外,LDAP可以很轻松地与其他系统对接,我们后面即将构建的代码管理、版本管理,都将通过LDAP帐号接入。


【在线安装】

    执行命令

[root@wzxaini9 /]# yum install PHP-ldap
Error: php73w-common-.. conflicts with php-common-5.4....

    这说明安装出现版本冲突或

No package PHP-ldap available.
  * Maybe you meant: php-ldap
Error: Nothing to do

    这可能是本机的储存库中不存在此扩展。可以尝试安装第三方储存库后再试

[root@wzxaini9 /]# yum install centos-release-scl

    接下来需要先查看安装的php的版本:

[root@wzxaini9 /]# php -v
PHP 7.3.8 (cli) (built: Aug  7 2018 15:31:34) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
    with Zend OPcache v7.3.8, Copyright (c) 1999-2018, by Zend Technologies

    我们看到本机运行的是PHP7.3.8,下面我们检查一下ldap的可安装版本

[root@wzxaini9 /]# yum search ldap
......
php54-php-ldap.x86_64 : A module for PHP applications that use LDAP
php55-php-ldap.x86_64 : A module for PHP applications that use LDAP
php56-php-ldap.x86_64 : A module for PHP applications that use LDAP
php70-php-ldap.x86_64 : A module for PHP applications that use LDAP
php71-php-ldap.x86_64 : A module for PHP applications that use LDAP
php72-php-ldap.x86_64 : A module for PHP applications that use LDAP
php73-php-ldap.x86_64 : A module for PHP applications that use LDAP
php74-php-ldap.x86_64 : A module for PHP applications that use LDAP
......

    在输出的大量软件列表中有这么一段,根据本机的PHP版本。我们选择 php73-php-ldap.x86_64 安装包

[root@wzxaini9 /]# yum install php73-php-ldap.x86_64

    运行此命令后会有一处确认安装的讯问。可以输入Y来继续安装或者N结束安装,接下来。我们在php.ini中加入扩展

[root@wzxaini9 /]# vim /usr/local/php/lib/php.ini
......
[ldap]
extension=ldap.so
......

    重启PHP进程

[root@wzxaini9 /]# ps aux|grep php-fpm
root      4876  0.0  0.0 282488  6904 ?        Ss   Jun15   3:06 php-fpm: master process (/usr/local/php/etc/php-fpm.conf)
www       4877  0.0  0.0 282788  8820 ?        S    Jun15   0:00 php-fpm: pool www
www       4878  0.0  0.0 282788  8420 ?        S    Jun15   0:00 php-fpm: pool www
www       4879  0.0  0.0 282788  8460 ?        S    Jun15   0:00 php-fpm: pool www
www       4880  0.0  0.0 282788  8424 ?        S    Jun15   0:00 php-fpm: pool www
www       4884  0.0  0.0 282788  8824 ?        S    Jun15   0:00 php-fpm: pool www
www       4885  0.0  0.0 282788  8268 ?        S    Jun15   0:00 php-fpm: pool www
www       4886  0.0  0.0 282788  8272 ?        S    Jun15   0:00 php-fpm: pool www
www       4887  0.0  0.0 282788  8268 ?        S    Jun15   0:00 php-fpm: pool www
[root@wzxaini9 /]# kill -USR2 4876

    或

[root@wzxaini9 /]# service php-fpm reload

    完成后,查看info.php页面,会有ldap的模块,显示enabled.


【编译安装】

对于LDAP的安装得先安装,检查下面是不是已经安装,如果没有安装之:

[root@wzxaini9 /]# yum list openldap
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * centos-sclo-rh: mirrors.163.com
 * centos-sclo-sclo: mirrors.cn99.com
Installed Packages
openldap.x86_64                                                     2.4.44-21.el7_6                                                      @updates
Available Packages
openldap.i686                                                       2.4.44-21.el7_6                                                      updates 
[root@wzxaini9 /]# yum list openldap-devel
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * centos-sclo-rh: mirrors.163.com
 * centos-sclo-sclo: mirrors.cn99.com
Available Packages
openldap-devel.i686                                                     2.4.44-21.el7_6                                                   updates
openldap-devel.x86_64                                                   2.4.44-21.el7_6                                                   updat

    如果未安装的需要进行安装

[root@wzxaini9 /]# yum install openldap
......
[root@wzxaini9 /]# yum install openldap-devel
......

    进行下一步,

[root@wzxaini9 /]# cp -frp /usr/lib64/libldap* /usr/lib/

    进入安装目录(不知道安装目录的可以用find -name "php-*" 来查找,找到你安装的对应版本的目录,如果没有的话可以在PHP官网下载对应版本的PHP安装包)然后运行phpize

[root@wzxaini9 /]# cd /root/php-7.3.8/ext/ldap
[root@wzxaini9 ldap]# /usr/local/php/bin/phpize
Configuring for:
PHP Api Version:         20090626
Zend Module Api No:      20090626
Zend Extension Api No:   220090626

    生成 Makefile,为下一步的编译做准备,然后编译安装

[root@wzxaini9 ldap]# ./configure --with-php-config=/usr/local/php/bin/php-config --with-ldap
[root@wzxaini9 ldap]# make && make install
......
Installing shared extensions:     /usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/

    接下来。我们在php.ini中加入扩展

[root@wzxaini9 /]# vim /usr/local/php/lib/php.ini
......
[ldap]
extension=ldap.so
......

    重启PHP进程

[root@wzxaini9 /]# ps aux|grep php-fpm
root      4876  0.0  0.0 282488  6904 ?        Ss   Jun15   3:06 php-fpm: master process (/usr/local/php/etc/php-fpm.conf)
www       4877  0.0  0.0 282788  8820 ?        S    Jun15   0:00 php-fpm: pool www
www       4878  0.0  0.0 282788  8420 ?        S    Jun15   0:00 php-fpm: pool www
www       4879  0.0  0.0 282788  8460 ?        S    Jun15   0:00 php-fpm: pool www
www       4880  0.0  0.0 282788  8424 ?        S    Jun15   0:00 php-fpm: pool www
www       4884  0.0  0.0 282788  8824 ?        S    Jun15   0:00 php-fpm: pool www
www       4885  0.0  0.0 282788  8268 ?        S    Jun15   0:00 php-fpm: pool www
www       4886  0.0  0.0 282788  8272 ?        S    Jun15   0:00 php-fpm: pool www
www       4887  0.0  0.0 282788  8268 ?        S    Jun15   0:00 php-fpm: pool www
[root@wzxaini9 /]# kill -USR2 4876

    或

[root@wzxaini9 /]# service php-fpm reload

    完成后,查看info.php页面,会有ldap的模块,显示enabled.


更多安装方式可查看文章《PHP扩展安装》一文

上一篇 下一篇

评论

登录后可发表评论