php - PHP 7 如何查找 PHP 是否使用 LDAP 支持构建?
问题描述
使用 Linux、Apache 2.4、PHP 7.2
我正在更新一个生产 PHP 站点,该站点具有非常不安全的 LDAP 身份验证过程。但是,尝试调用 ldap_connect() 会给我一个未定义的函数错误。所以,在我看来,有两种可能性:
PHP 不是使用 LDAP 支持构建的(使用 --with-ldap[=DIR])
PHP 是使用 LDAP 支持构建的,但未安装扩展
那么,我如何判断是哪种情况呢?
为了更有趣,phpinfo() 没有 ldap 部分。但是,extension_loaded('ldap');
返回 true。
解决方案
您可以尝试使用extension_loaded()进行检查,如下所示:
$builtWithLdap = extension_loaded('ldap');
或者作为撬棍方法,只需检查其中一个功能是否存在:
$builtWithLdap = function_exists('ldap_add');
编辑:重新阅读您的问题我只是意识到您实际上想知道您是否可以区分它是在支持下构建但未加载还是在没有支持的情况下构建。据我在运行时所知道的,这些与 PHP 完全相同,只是对它一无所知。很抱歉造成混乱。
推荐阅读
- javascript - (节点:10096)UnhandledPromiseRejectionWarning:错误 [ERR_HTTP_HEADERS_SENT]:在将标头发送到客户端后无法设置标头
- firebase - Firestore Flutter Searching:查询文档以字符串开头或等于字符串
- javascript - javascript Number('.1') 不等于 python Decimal('.1')
- node.js - 如何使用角度平均值 11 堆栈在模态弹出窗口上制作数据视图
- apache-spark - 无法解析给定输入列的“职业”
- node.js - gulp 和 assemble 不起作用 - 抛出“TypeError:预期的助手是一个对象”
- python - 使用 issubclass 测试类型返回不一致的结果
- database - 我们能看到在 DB2 中创建的所有临时表吗
- json - CFT 模板错误:Fn::If 中未解决的条件依赖 UseDBSnapshot
- r - 使用 R 创建 Ranger 模型以用于 MLflow 时出现问题