gpt4 book ai didi

php - 如何使用 php 识别 windows LDAP 和 linux LDAP?

转载 作者:太空宇宙 更新时间:2023-11-04 13:01:02 25 4
gpt4 key购买 nike

我需要用 php 连接到一个 ldap 服务器,但不幸的是我不能用 ldap_bind() 方法绑定(bind)它,因为 ldap_connect() 总是返回 true .

我正在使用 php.net 提供的示例脚本

我怀疑 ldap 主机是否是 windows。我如何通过代码识别它?

代码

<?php
// basic sequence with LDAP is connect, bind, search, interpret search
// result, close connection

echo "<h3>LDAP query test</h3>";
echo "Connecting ...";
$ds=ldap_connect("localhost"); // must be a valid LDAP server!
echo "connect result is " . $ds . "<br />";

if ($ds) {
echo "Binding ...";
$r=ldap_bind($ds); // this is an "anonymous" bind, typically
// read-only access
echo "Bind result is " . $r . "<br />";

echo "Searching for (sn=S*) ...";

// Search surname entry
$sr=ldap_search($ds, "o=My Company, c=US", "sn=S*");
echo "Search result is " . $sr . "<br />";

echo "Number of entries returned is " . ldap_count_entries($ds, $sr) . "<br />";

echo "Getting entries ...<p>";
$info = ldap_get_entries($ds, $sr);
echo "Data for " . $info["count"] . " items returned:<p>";

for ($i=0; $i<$info["count"]; $i++) {
echo "dn is: " . $info[$i]["dn"] . "<br />";
echo "first cn entry is: " . $info[$i]["cn"][0] . "<br />";
echo "first email entry is: " . $info[$i]["mail"][0] . "<br /><hr />";
}

echo "Closing connection";
ldap_close($ds);

} else {
echo "<h4>Unable to connect to LDAP server</h4>";
}
?>

最佳答案

如果你想判断操作系统是不是windows你可以使用php常量PHP_OS

这是一个函数 isWindows() 的小例子:

function isWindows() {
if( substr( strtolower( PHP_OS ), 0, 3 ) === 'win' ) {
return true;
}

return false;
}

var_dump( isWindows() );

关于php - 如何使用 php 识别 windows LDAP 和 linux LDAP?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33867289/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com