Sie können etwas tun:
ldap_get_option($ldapConn, LDAP_OPT_ERROR_STRING, $diagnosticMsg);
echo $diagnosticMsg;
Wo $diagnosticMsg
ist dann die gesamte Nachricht, die die zusätzliche Informationen enthält, die Sie suchen.
In neueren Versionen von PHP können Sie stattdessen LDAP_OPT_DIAGNOSTIC_MESSAGE
verwenden. Das wird den erweiterten Fehlercode enthalten, nach dem Sie suchen. Sie können es so etwas parsen:
function getExtendedErrorNumber($diagnosticMsg) {
$errorNumber = 0;
if (!empty($diagnosticMsg)) {
$errorNumber = explode(',', $diagnosticMsg);
if (!isset($errorNumber[2])) {
return 0;
};
$errorNumber = explode(' ', $errorNumber[2]);
if (!isset($errorNumber[2])) {
return 0;
};
$errorNumber = hexdec(intval($errorNumber[2]));
}
return $errorNumber;
}
Welche Version von PHP brauche ich für LDAP_OPT_DIAGNOSTIC_MESSAGE? Server mit 5.4.16. – Thomas
Beide Konstanten haben am Ende den gleichen Wert, also sollte es technisch nicht darauf ankommen, was Sie verwenden. Aber Sie müssen LDAP_OPT_ERROR_STRING mit dieser PHP-Version verwenden. Der andere ist nur spätere Versionen von 5.6 und 7.0 denke ich. – ChadSikorra
OK, danke :) – Thomas