我对 LDAP 及其配置的了解非常有限,我一直试图找出在运行用 php 编写的程序时发生的一个问题,但到目前为止没有成功。
我正在使用的服务器是一个运行在 Apache 上的 ldap 服务器。在本地测试该程序 (ldap://localhost:10389/) 后,该程序托管在 Web 服务器(Linux Apache 服务器)上。同时通过
运行相同的程序http : / / abc.net:2020 /conn.php
它在 "$ldapconn = ldap_connect($host, $port)"
处停止并移动到下一个,同时没有提供任何错误消息,因此,我无法找到找出问题实际发生的地方。
我用php写的程序是:
<html>
<body>
<?php
$host = "ldap://1.1.11.111";
$port = "389";
echo "<br><br>Connecting to ".$host."..........";
$ldapconn = ldap_connect($host, $port)
or die("Could not connect to {$ldaphost}");
echo "<br><font style='color:blue'>Connected Successfully!</font>";
?>
</body>
</html>
我如何测试服务器是否具有所有相关的 dll?
提前致谢。
最佳答案
根据您的描述,服务器上似乎没有安装 LDAP 扩展。
如果日志记录未完全禁用,您应该能够在日志文件中找到关于此的注释。
要确定服务器是否安装了 LDAP,请创建一个 phpinfo-page 并查看其中是否有关于 LDAP 的部分。最简单的方法是在服务器的 docroot 中创建一个新文件并向其中添加以下内容:
<?php phpinfo();
更多信息可以在 the documentation 找到
如果未安装 LDAP 模块(意味着在 phpinfo 页面的输出中没有 LDAP 的踪迹),您需要安装它。虽然这在很大程度上取决于您的设置,但您可能想看看 the documentation for installing extensions并确保通过使用 extension
添加路径来加载 LDAP-extension - 您的 php.ini
-file 的一部分,如下所示:
extension=php_ldap.dll
可能在 this question 的答案中找到更多信息
关于php - Web 服务器上的 Ldap 连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46421730/