我正在使用PHP连接到Oracle OID LDAP--并使用不同的帐户类型进行测试;在这种情况下,我知道一个帐户已过期(OID错误9000 - http://docs.oracle.com/cd/E15523_01/oid.1111/e10029/trblsht.htm#CHDJHCHC),但PHP只是返回一个错误49(ldap_errno),这只是通用的无效凭据错误。使用PHP LDAP获取更具体的错误消息 - OID
是否有另一种功能或方法从服务器获取更详细的消息?
我正在使用PHP连接到Oracle OID LDAP--并使用不同的帐户类型进行测试;在这种情况下,我知道一个帐户已过期(OID错误9000 - http://docs.oracle.com/cd/E15523_01/oid.1111/e10029/trblsht.htm#CHDJHCHC),但PHP只是返回一个错误49(ldap_errno),这只是通用的无效凭据错误。使用PHP LDAP获取更具体的错误消息 - OID
是否有另一种功能或方法从服务器获取更详细的消息?
IIRC,这样的OID错误代码不通过线路传输(尽管wireshark可以告诉你)。但是,通常存在扩展错误的概念。
使用LDAP_OPT_ERROR_NUMBER和LDAP_OPT_ERROR_STRING选项,您应该能够使用PHP中的ldap_get_option函数获取扩展代码(和字符串)。
上面应该足以给你'扩展'的诊断;但请记住,这可能是目录实现特定的。
我看到,在http://www.php.net/manual/en/function.ldap-get-option.php有一个类似的(虽然对于AD)的例子,它使用(明显未公开的)LDAP_OPT_DIAGNOSTIC_MESSAGE。