使用PHP LDAP获取更具体的错误消息 - OID

时间:2014-03-24 16:12:26

标签: php oracle ldap openldap oid

我使用PHP连接到Oracle OID LDAP - 我正在使用不同的帐户类型进行测试;在这种情况下,我知道一个帐户已过期(OID错误9000 - http://docs.oracle.com/cd/E15523_01/oid.1111/e10029/trblsht.htm#CHDJHCHC)但PHP只是返回错误49(ldap_errno),这只是一般的无效凭证错误。

是否有其他功能或方法可以从服务器获取更详细的消息?

1 个答案:

答案 0 :(得分:0)

IIRC,这样的OID错误代码不会通过网络传输(虽然wireshark可以告诉你)。但是,通常存在扩展错误的概念。

您应该能够使用LDAP中的ldap_get_option函数,使用LDAP_OPT_ERROR_NUMBER和LDAP_OPT_ERROR_STRING选项获取扩展代码(和字符串)。

上述内容应足以为您提供“扩展”诊断;但请记住,这可能是特定于目录实现的。

我在http://www.php.net/manual/en/function.ldap-get-option.php上看到有类似的(虽然对于AD)示例,它使用(显然未记录的)LDAP_OPT_DIAGNOSTIC_MESSAGE。