一,由于公司的centos系統中的php标準安裝沒有php-ldap相關插件,報錯資訊如下:
Fatal error: Call to undefined function ldap_connect() in /home/www/corp/login.php on line 11
二,安裝php-ldap
yum install php-ldap
find / –name “*ldap.so”
#/usr/lib64/php/modules/ldap.so #查找子產品位置
vim php.ini
添加extension=#/usr/lib64/php/modules/ldap.so
/etc/init.d/php-fpmd restart #重新開機php-fpmd
三,login1.php
<?php
$username = '[email protected]';
$password = '密碼';
$conn = ldap_connect('域控位址')
or die('warning');
if ($conn)
{
$bind = ldap_bind($conn,$username, $password);
if ($bind)
{
echo "yes";
} else {
echo "no";
}
}
?>
四,login2.php
$hostname="域控位址";
$port = 389;
$username_linux = "cn=Manager,dc=example,dc=com";#openldap賬号
$username_windows = [email protected];#域控賬号
$password = "密碼";
$basedn = "dc=yu,dc=com"; #基本DN
if( $port )
{
$ds=ldap_connect($hostname,$port);
}
else
$ds=ldap_connect($hostname);
if( $ds )
ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION,3);
ldap_set_option($ds, LDAP_OPT_REFERRALS,0);
$r=ldap_bind($ds,$username_windows,$password); #ldap_bind的傳回值是一個布爾類型,我們可以根據傳回值判斷使用者的登入證書是否有效
$sr=ldap_search($ds, $basedn,"(objectClass=*)");
echo "Number of entires returned is " . ldap_count_entries($ds, $sr) . "<br />";
$info = ldap_get_entries($ds, $sr);