当前位置:  开发笔记 > 编程语言 > 正文

PHP LDAPS提供的参数不是有效的ldap链接资源

如何解决《PHPLDAPS提供的参数不是有效的ldap链接资源》经验,为你挑选了1个好方法。

我试图从我的Windows机器上的本地Ubuntu VM Box连接到远程LDAP服务器.PHP代码是:

$ldap = ldap_connect("ldaps://11.22.33.44",636);
ldap_set_option ($ldap, LDAP_OPT_REFERRALS, 0);
ldap_set_option($ldap, LDAP_OPT_PROTOCOL_VERSION, 3);
$username = "domain\usr";
$password = "blah";
$ds = ldap_bind($ldap, $username, $password );
if( $ds ){
    echo "logged in!";
}
else{
    echo "failed to log in!";
    exit;
}

运行时我得到'登录!' 消息,所以我假设连接正常.但是,当我之后运行此PHP代码时:

$sr = ldap_search($ds, "OU=User Accounts,DC=Domain1,DC=foobar,DC=Local", "(|(sn=*))");

我收到此错误:

警告:ldap_search():提供的参数不是第37行/usr/share/nginx/www/ldap_test.php中的有效ldap链接资源

(它指的是包含ldap_search命令的行.如果连接成功并且创建了链接资源,这没有意义 - 任何想法?



1> John C..:

ldap_bind将返回truefalse.您需要将结果传递ldap_connectldap_search- $ldap在您的示例中.

$sr = ldap_search($ldap, "OU=User Accounts,DC=Domain1,DC=foobar,DC=Local", "(|(sn=*))");

推荐阅读
放ch养奶牛
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有