一、介绍
在编写PHP程序时,经常会使用LDAP(Lightweight Directory Access Protocol)协议访问目录服务。LDAP是一种标准协议,通常用于维护网络用户和组,以及其它资源,它广泛应用于企业、政府和组织中。
LDAP扩展支持了PHP程序对LDAP协议的访问。本文将介绍如何在CentOS上安装PHP LDAP扩展。
二、环境
本文所使用的环境:
- CentOS 7
- PHP 7.3.27
三、安装
安装PHP LDAP扩展需要几个步骤:安装OpenLDAP,安装PHP LDAP扩展,修改PHP配置。
1. 安装OpenLDAP
我们需要先安装OpenLDAP及其应用程序包(libraries)。
在CentOS上使用yum命令安装OpenLDAP:
```shell
sudo yum install openldap openldap-devel
```
2. 安装PHP LDAP扩展
我们可以使用PECL(The PHP Extension Community Library)命令来安装PHP扩展。在安装PHP扩展之前,首先需要保证已安装PHP开发套件。
在CentOS上使用下面的命令安装PHP开发套件:
```shell
sudo yum install php-devel
```
安装PHP开发套件后,我们就可以使用PECL安装PHP扩展了。在终端执行下面的命令:
```shell
sudo pecl install ldap
```
上面命令中的 `ldap` 是PHP LDAP扩展的名称。
3. 修改PHP配置
安装PHP LDAP扩展后,需要在PHP配置文件中启用该扩展。可以编辑 `/etc/php.ini` 文件,添加下面的一行代码:
```ini
extension=ldap.so
```
修改了PHP配置后,需要重启Web服务器、PHP-FPM或FastCGI进程管理器,以便让修改生效。
四、测试
为了测试PHP LDAP扩展是否已成功安装,我们可以写一个简单的PHP脚本来检查是否可以使用LDAP扩展。
```php
// 域控制器
$adServer = "ldap://example.com";
// LDAP 连接
$ldap = ldap_connect($adServer);
ldap_set_option($ldap, LDAP_OPT_PROTOCOL_VERSION, 3);
ldap_set_option($ldap, LDAP_OPT_REFERRALS, 0);
// 一个有效的AD用户和密码,用于连接到AD
$username = 'user@example.com';
$password = 'password';
if ($bind = @ldap_bind($ldap, $username, $password)) {
echo '成功:与LDAP服务器的连接和验证已成功建立。';
} else {
echo '错误:无法与LDAP服务器连接或验证失败。';
}
?>
```
在上面的PHP程序中,我们首先定义了一个LDAP服务器的地址,然后创建了一个LDAP连接。接着,我们指定了LDAP协议版本和引用选项,为了减少服务器的负载,我们设置中止了LDAP的引用。最后我们验证了连接和绑定,输出结果。
五、总结
在本文中,我们读者学习了如何在CentOS下安装PHP LDAP扩展,以及如何使用PHP编程语言与LDAP服务器建立连接。安装PHP LDAP扩展是使用LDAP协议访问目录服务的关键步骤。