XLVIII. LDAP Functions介绍LDAP is the Lightweight Directory Access Protocol, and is a protocol used to access "Directory Servers". The Directory is a special kind of database that holds information in a tree structure. The concept is similar to your hard disk directory structure, except that in this context, the root directory is "The world" and the first level subdirectories are "countries". Lower levels of the directory structure contain entries for companies, organisations or places, while yet lower still we find directory entries for people, and perhaps equipment or documents. To refer to a file in a subdirectory on your hard disk, you might use something like:
The forwards slash marks each division in the reference, and the sequence is read from left to right. The equivalent to the fully qualified file reference in LDAP is the "distinguished name", referred to simply as "dn". An example dn might be:
The comma marks each division in the reference, and the sequence is read from right to left. You would read this dn as:
In the same way as there are no hard rules about how you organise the directory structure of a hard disk, a directory server manager can set up any structure that is meaningful for the purpose. However, there are some conventions that are used. The message is that you can not write code to access a directory server unless you know something about its structure, any more than you can use a database without some knowledge of what is available. Lots of information about LDAP can be found at The Netscape SDK contains a helpful Programmer's Guide in HTML format. 需求You will need to get and compile LDAP client libraries from either the University of Michigan ldap-3.3 package, Netscape Directory SDK 3.0 or OpenLDAP to compile PHP with LDAP support. 安装LDAP support in PHP is not enabled by default. You will need to use the --with-ldap[=DIR] configuration option when compiling PHP to enable LDAP support. DIR is the LDAP base install directory.
运行时配置这些函数的行为受到全局配置文件 php.ini 的影响。 For further details and definition of the PHP_INI_* constants see ini_set(). 预定义常量由于这些常量是由该扩展模块定义的,因此只有在该扩展模块被编译到 PHP 中,或者在运行时被动态加载后,这些常量才有效。
范例Retrieve information for all entries where the surname starts with "S" from a directory server, displaying an extract with name and email address. Using the PHP LDAP callsBefore you can use the LDAP calls you will need to know ..
The typical sequence of LDAP calls you will make in an application will follow this pattern:
| ||