Error handling

Error handling – How handling errors works in Net_LDAP

Error handling

Nearly all of Net_LDAPs methods return a Net_LDAP_Error object if something went wrong. You always should check for errors after you performed an action to be sure that your application doesn't do things you don't want it to do.

Handling errors is an easy task, you just have to test the return value as shown below. If an error occured, you can halt the script for example. In other cases, you may just log the error, but what exactly happens depends on your specific situation, of course.

You can use the getMessage() method of the error object to retrieve the error message explaining the problem and getCode() to get the error code which is usually the LDAP-Error code (see Table below) and may be used for automated reaction on errors.

Dealing with errors

<?php
// Perform an arbitrary action:
$result $ldap->search($searchbase$filter$options);

// Check, if an error occured and do something.
// Here we use die() to show the message of the error.
if (PEAR::isError($result)) {
    die(
$result->getMessage());
}
?>
Error codes Net_LDAP
Error code Описание
0x00 LDAP_SUCCESS
0x01 LDAP_OPERATIONS_ERROR
0x02 LDAP_PROTOCOL_ERROR
0x03 LDAP_TIMELIMIT_EXCEEDED
0x04 LDAP_SIZELIMIT_EXCEEDED
0x05 LDAP_COMPARE_FALSE
0x06 LDAP_COMPARE_TRUE
0x07 LDAP_AUTH_METHOD_NOT_SUPPORTED
0x08 LDAP_STRONG_AUTH_REQUIRED
0x09 LDAP_PARTIAL_RESULTS
0x0a LDAP_REFERRAL
0x0b LDAP_ADMINLIMIT_EXCEEDED
0x0c LDAP_UNAVAILABLE_CRITICAL_EXTENSION
0x0d LDAP_CONFIDENTIALITY_REQUIRED
0x0e LDAP_SASL_BIND_INPROGRESS
0x10 LDAP_NO_SUCH_ATTRIBUTE
0x11 LDAP_UNDEFINED_TYPE
0x12 LDAP_INAPPROPRIATE_MATCHING
0x13 LDAP_CONSTRAINT_VIOLATION
0x14 LDAP_TYPE_OR_VALUE_EXISTS
0x15 LDAP_INVALID_SYNTAX
0x20 LDAP_NO_SUCH_OBJECT
0x21 LDAP_ALIAS_PROBLEM
0x22 LDAP_INVALID_DN_SYNTAX
0x23 LDAP_IS_LEAF
0x24 LDAP_ALIAS_DEREF_PROBLEM
0x30 LDAP_INAPPROPRIATE_AUTH
0x31 LDAP_INVALID_CREDENTIALS
0x32 LDAP_INSUFFICIENT_ACCESS
0x33 LDAP_BUSY
0x34 LDAP_UNAVAILABLE
0x35 LDAP_UNWILLING_TO_PERFORM
0x36 LDAP_LOOP_DETECT
0x3C LDAP_SORT_CONTROL_MISSING
0x3D LDAP_INDEX_RANGE_ERROR
0x40 LDAP_NAMING_VIOLATION
0x41 LDAP_OBJECT_CLASS_VIOLATION
0x42 LDAP_NOT_ALLOWED_ON_NONLEAF
0x43 LDAP_NOT_ALLOWED_ON_RDN
0x44 LDAP_ALREADY_EXISTS
0x45 LDAP_NO_OBJECT_CLASS_MODS
0x46 LDAP_RESULTS_TOO_LARGE
0x47 LDAP_AFFECTS_MULTIPLE_DSAS
0x50 LDAP_OTHER
0x51 LDAP_SERVER_DOWN
0x52 LDAP_LOCAL_ERROR
0x53 LDAP_ENCODING_ERROR
0x54 LDAP_DECODING_ERROR
0x55 LDAP_TIMEOUT
0x56 LDAP_AUTH_UNKNOWN
0x57 LDAP_FILTER_ERROR
0x58 LDAP_USER_CANCELLED
0x59 LDAP_PARAM_ERROR
0x5a LDAP_NO_MEMORY
0x5b LDAP_CONNECT_ERROR
0x5c LDAP_NOT_SUPPORTED
0x5d LDAP_CONTROL_NOT_FOUND
0x5e LDAP_NO_RESULTS_RETURNED
0x5f LDAP_MORE_RESULTS_TO_RETURN
0x60 LDAP_CLIENT_LOOP
0x61 LDAP_REFERRAL_LIMIT_EXCEEDED
1000 Unknown Net_LDAP Error
    Поддержать сайт на родительском проекте КГБ