From: Andreas Heigl Date: Tue, 5 May 2015 19:30:29 +0000 (+0200) Subject: Implements extended error messages X-Git-Tag: PRE_PHP7_NSAPI_REMOVAL~42^2~122 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=983b101f8e6ee9b2839b8da5910edc6ae214673c;p=php Implements extended error messages This commit introduces a new constant that can be used to retrieve more detailed error messages. This fixes #47222 The new constant LDAP_OPT_DIAGNOSTIC_MESSAGE is defined in PHP when the underlying library provides (and understands) it. This is the case in the current OpenLDAP-implementation. Tanks to Johnny Willer who provided the solution at http://stackoverflow.com/questions/28765077/get-number-of-ad-errors-with-ldap-and-php-ldap-function-return-unprecise-error/28816473#28816473 --- diff --git a/ext/ldap/ldap.c b/ext/ldap/ldap.c index c64b13bab5..b1fc1e4566 100644 --- a/ext/ldap/ldap.c +++ b/ext/ldap/ldap.c @@ -191,6 +191,10 @@ PHP_MINIT_FUNCTION(ldap) REGISTER_LONG_CONSTANT("LDAP_OPT_DEBUG_LEVEL", LDAP_OPT_DEBUG_LEVEL, CONST_PERSISTENT | CONST_CS); #endif +#ifdef LDAP_OPT_DIAGNOSTIC_MESSAGE + REGISTER_LONG_CONSTANT("LDAP_OPT_DIAGNOSTIC_MESSAGE", LDAP_OPT_DIAGNOSTIC_MESSAGE, CONST_PERSISTENT | CONST_CS); +#endif + #ifdef HAVE_LDAP_SASL REGISTER_LONG_CONSTANT("LDAP_OPT_X_SASL_MECH", LDAP_OPT_X_SASL_MECH, CONST_PERSISTENT | CONST_CS); REGISTER_LONG_CONSTANT("LDAP_OPT_X_SASL_REALM", LDAP_OPT_X_SASL_REALM, CONST_PERSISTENT | CONST_CS);