LDAP(輕量級目錄訪問協議)是一種用于訪問和維護分布式目錄信息服務的協議
phpinfo()
函數檢查LDAP是否已啟用。如果沒有,你可以使用PECL(PHP擴展庫)安裝它:pecl install ldap
然后,在php.ini
文件中添加以下行:
extension=ldap.so
ldap_connect()
函數連接到LDAP服務器。例如:$ldap_host = "ldap.example.com";
$ldap_port = 389;
$ldap_user = "cn=admin,dc=example,dc=com";
$ldap_password = "your_password";
$conn = ldap_connect($ldap_host, $ldap_port);
if (!$conn) {
die("連接失敗: " . ldap_error());
}
ldap_bind()
函數綁定到LDAP服務器。例如:$ldap_base_dn = "ou=users,dc=example,dc=com";
$ldap_filter = "(&(objectClass=inetOrgPerson))";
$search_result = ldap_search($conn, $ldap_base_dn, $ldap_filter);
if (!$search_result) {
die("搜索失敗: " . ldap_error());
}
$data = array();
foreach ($search_result as $entry) {
$attributes = ldap_get_attributes($conn, $entry['dn'], array('*'));
$data[] = $attributes;
}
同步數據:將獲取的數據同步到你的應用程序數據庫。這取決于你的數據庫類型和結構。你可以使用PHP的數據庫訪問函數(如mysqli
或PDO
)來執行SQL查詢并將數據插入或更新到數據庫中。
斷開連接:完成操作后,使用ldap_unbind()
函數斷開與LDAP服務器的連接。例如:
ldap_unbind($conn);
這只是一個簡單的示例,實際應用中可能需要根據具體需求進行調整。在同步數據時,你可能需要考慮并發訪問、錯誤處理和事務管理等問題。