PHP 未定义 LDAP 选项
PHP LDAP Options Not Defined
我正在尝试使用 PHP LDAP 模块在我组织的某些内容上放置一个身份验证层。如果我将 LDAP_OPT_X_TLS_REQUIRE_CERT 设置为 0,该脚本将完美运行,但如果我不设置,则会出现以下错误。
- ldap_error() returns "Unable to bind to server: Can't contact LDAP server"
- ldap_get_option() 对于 LDAP_OPT_ERROR_STRING returns "TLS error -8179:Peer's Certificate issuer is not recognized."
This page建议可以通过将LDAP服务器的安全证书放在我自己的服务器上来解决Peer's Certificate错误。我向 IT 部门申请了 PEM。现在我需要确定把它放在哪里。
当我尝试通过为 LDAP_OPT_X_TLS_CACERTDIR 打印 ldap_get_option() 来获取预期的证书目录时,我收到警告 "ldap_get_option() expects parameter 2 to be integer, string given"。事实上,当我回显 LDAP_OPT_X_TLS_CACERTDIR 本身时,结果实际上是那个字符串,而不是整数。
例如:
echo LDAP_OPT_SIZELIMIT . '<br />';
echo LDAP_OPT_ERROR_STRING . '<br />';
echo LDAP_OPT_X_TLS_CACERTDIR;
die();
结果:
3
50
LDAP_OPT_X_TLS_CACERTDIR
这是每个LDAP_OPT_X_的问题? the documentation 中列出的选项,LDAP_OPT_X_TLS_REQUIRE_CERT 除外,打印输出为 24582。
有谁知道为什么没有定义这些选项?
Ldap 选项 LDAP_OPT_X_TLS_CACERTDIR 在 PHP 7.1 中引入到 PHPs LDAP 扩展 (https://github.com/php/php-src/commit/8e9e89610e2e196892dbb7b605c65923a3fedf87)。因此,当您使用 PHP 7.0 时,如果不自己破解 PHP-Sources,就没有真正的机会来实现它和 运行。最简单的选择是更新到 PHP 7.1
我正在尝试使用 PHP LDAP 模块在我组织的某些内容上放置一个身份验证层。如果我将 LDAP_OPT_X_TLS_REQUIRE_CERT 设置为 0,该脚本将完美运行,但如果我不设置,则会出现以下错误。
- ldap_error() returns "Unable to bind to server: Can't contact LDAP server"
- ldap_get_option() 对于 LDAP_OPT_ERROR_STRING returns "TLS error -8179:Peer's Certificate issuer is not recognized."
This page建议可以通过将LDAP服务器的安全证书放在我自己的服务器上来解决Peer's Certificate错误。我向 IT 部门申请了 PEM。现在我需要确定把它放在哪里。
当我尝试通过为 LDAP_OPT_X_TLS_CACERTDIR 打印 ldap_get_option() 来获取预期的证书目录时,我收到警告 "ldap_get_option() expects parameter 2 to be integer, string given"。事实上,当我回显 LDAP_OPT_X_TLS_CACERTDIR 本身时,结果实际上是那个字符串,而不是整数。
例如:
echo LDAP_OPT_SIZELIMIT . '<br />';
echo LDAP_OPT_ERROR_STRING . '<br />';
echo LDAP_OPT_X_TLS_CACERTDIR;
die();
结果:
3
50
LDAP_OPT_X_TLS_CACERTDIR
这是每个LDAP_OPT_X_的问题? the documentation 中列出的选项,LDAP_OPT_X_TLS_REQUIRE_CERT 除外,打印输出为 24582。
有谁知道为什么没有定义这些选项?
Ldap 选项 LDAP_OPT_X_TLS_CACERTDIR 在 PHP 7.1 中引入到 PHPs LDAP 扩展 (https://github.com/php/php-src/commit/8e9e89610e2e196892dbb7b605c65923a3fedf87)。因此,当您使用 PHP 7.0 时,如果不自己破解 PHP-Sources,就没有真正的机会来实现它和 运行。最简单的选择是更新到 PHP 7.1