首页 > 解决方案 > PHP 7 如何查找 PHP 是否使用 LDAP 支持构建?

问题描述

使用 Linux、Apache 2.4、PHP 7.2

我正在更新一个生产 PHP 站点,该站点具有非常不安全的 LDAP 身份验证过程。但是,尝试调用 ldap_connect() 会给我一个未定义的函数错误。所以,在我看来,有两种可能性:

  1. PHP 不是使用 LDAP 支持构建的(使用 --with-ldap[=DIR])

  2. PHP 是使用 LDAP 支持构建的,但未安装扩展

那么,我如何判断是哪种情况呢?

为了更有趣,phpinfo() 没有 ldap 部分。但是,extension_loaded('ldap');返回 true。

标签: phpldapphp-7.2

解决方案


您可以尝试使用extension_loaded()进行检查,如下所示:

$builtWithLdap = extension_loaded('ldap');

或者作为撬棍方法,只需检查其中一个功能是否存在

$builtWithLdap = function_exists('ldap_add');

编辑:重新阅读您的问题我只是意识到您实际上想知道您是否可以区分它是在支持下构建但未加载还是在没有支持的情况下构建。据我在运行时所知道的,这些与 PHP 完全相同,只是对它一无所知。很抱歉造成混乱。


推荐阅读