<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <HTML ><HEAD ><TITLE >LDAP Functions</TITLE ><META NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REL="HOME" TITLE="PHP 手册" HREF="index.html"><LINK REL="UP" TITLE="函数参考" HREF="funcref.html"><LINK REL="PREVIOUS" TITLE="kadm5_modify_principal" HREF="function.kadm5-modify-principal.html"><LINK REL="NEXT" TITLE="ldap_8859_to_t61" HREF="function.ldap-8859-to-t61.html"><META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=UTF-8"></HEAD ><BODY CLASS="reference" BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#840084" ALINK="#0000FF" ><DIV CLASS="NAVHEADER" ><TABLE SUMMARY="Header navigation table" WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TH COLSPAN="3" ALIGN="center" >PHP 手册</TH ></TR ><TR ><TD WIDTH="10%" ALIGN="left" VALIGN="bottom" ><A HREF="function.kadm5-modify-principal.html" ACCESSKEY="P" >上一页</A ></TD ><TD WIDTH="80%" ALIGN="center" VALIGN="bottom" ></TD ><TD WIDTH="10%" ALIGN="right" VALIGN="bottom" ><A HREF="function.ldap-8859-to-t61.html" ACCESSKEY="N" >下一页</A ></TD ></TR ></TABLE ><HR ALIGN="LEFT" WIDTH="100%"></DIV ><DIV CLASS="reference" ><A NAME="ref.ldap" ></A ><DIV CLASS="TITLEPAGE" ><H1 CLASS="title" >LXXV. LDAP Functions</H1 ><DIV CLASS="PARTINTRO" ><A NAME="AEN103762" ></A ><DIV CLASS="section" ><H1 CLASS="section" ><A NAME="ldap.intro" >简介</A ></H1 ><P > 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. </P ><P > 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. </P ><P > To refer to a file in a subdirectory on your hard disk, you might use something like: </P ><P CLASS="literallayout" ><br> /usr/local/myapp/docs<br> </P ><P > The forwards slash marks each division in the reference, and the sequence is read from left to right. </P ><P > The equivalent to the fully qualified file reference in LDAP is the "distinguished name", referred to simply as "dn". An example dn might be: </P ><P CLASS="literallayout" ><br> cn=John Smith,ou=Accounts,o=My Company,c=US<br> </P ><P > The comma marks each division in the reference, and the sequence is read from right to left. You would read this dn as: </P ><P CLASS="literallayout" ><br> country = US<br> organization = My Company<br> organizationalUnit = Accounts<br> commonName = John Smith<br> </P ><P > 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. </P ><P > Lots of information about LDAP can be found at </P ><P ></P ><UL ><LI ><P > <A HREF="http://www.mozilla.org/directory/" TARGET="_top" >Mozilla</A > </P ></LI ><LI ><P > <A HREF="http://www.openldap.org/" TARGET="_top" >OpenLDAP Project</A > </P ></LI ></UL ><P > The Netscape SDK contains a helpful <A HREF="http://www.mozilla.org/directory/csdk-docs/" TARGET="_top" >Programmer's Guide</A > in HTML format. </P ></DIV ><DIV CLASS="section" ><H1 CLASS="section" ><A NAME="ldap.requirements" >需求</A ></H1 ><P > You will need to get and compile LDAP client libraries from either <A HREF="ftp://ftp.openldap.org/pub/OpenLDAP/openldap-stable/" TARGET="_top" >OpenLDAP</A > or <A HREF="http://www.bind9.net/download-openldap/" TARGET="_top" >Bind9.net</A > in order to compile PHP with LDAP support. </P ></DIV ><DIV CLASS="section" ><H1 CLASS="section" ><A NAME="ldap.installation" >安装</A ></H1 ><P > LDAP support in PHP is not enabled by default. You will need to use the <CODE CLASS="option" >--with-ldap[=DIR]</CODE > configuration option when compiling PHP to enable LDAP support. DIR is the LDAP base install directory. To enable SASL support, be sure <CODE CLASS="option" >--with-ldap-sasl[=DIR]</CODE > is used, and that <TT CLASS="filename" >sasl.h</TT > exists on the system. </P ><DIV CLASS="note" ><BLOCKQUOTE CLASS="note" ><P ><B >Note to Win32 Users: </B > In order for this extension to work, there are <ACRONYM CLASS="acronym" >DLL</ACRONYM > files that must be available to the Windows system <TT CLASS="literal" >PATH</TT >. See the <ACRONYM CLASS="acronym" >FAQ</ACRONYM > titled "<A HREF="faq.installation.html#faq.installation.addtopath" >How do I add my PHP directory to the PATH on Windows</A >" for information on how to do this. Although copying DLL files from the PHP folder into the Windows system directory also works (because the system directory is by default in the systems <TT CLASS="literal" >PATH</TT >), it is not recommended. <SPAN CLASS="emphasis" ><I CLASS="emphasis" >This extension requires the following files to be in the <TT CLASS="literal" >PATH</TT >:</I ></SPAN > <TT CLASS="filename" >libeay32.dll</TT > and <TT CLASS="filename" >ssleay32.dll</TT > </P ><P ><B >Note to Win32 Users: </B > Versions before PHP 4.3.0 additionally require <TT CLASS="filename" >libsasl.dll</TT >. </P ></BLOCKQUOTE ></DIV ><P > In order to use Oracle LDAP libraries, proper <A HREF="ref.oci8.html#oci8.requirements" >Oracle environment</A > has to be set. </P ></DIV ><DIV CLASS="section" ><H1 CLASS="section" ><A NAME="ldap.configuration" >运行时配置</A ></H1 ><P >这些函数的行为受 <TT CLASS="filename" >php.ini</TT > 的影响。</P ><P > <DIV CLASS="table" ><A NAME="AEN103817" ></A ><P ><B >表 1. LDAP configuration options</B ></P ><TABLE BORDER="1" CLASS="CALSTABLE" ><COL><COL><COL><COL><THEAD ><TR ><TH >Name</TH ><TH >Default</TH ><TH >Changeable</TH ><TH >Changelog</TH ></TR ></THEAD ><TBODY ><TR ><TD >ldap.max_links</TD ><TD >"-1"</TD ><TD >PHP_INI_SYSTEM</TD ><TD > </TD ></TR ></TBODY ></TABLE ></DIV > 有关 PHP_INI_* 常量进一步的细节与定义参见<A HREF="ini.html" >附录 H</A >。 </P ></DIV ><DIV CLASS="section" ><H1 CLASS="section" ><A NAME="ldap.resources" >资源类型</A ></H1 ><P > Most LDAP functions operate on or return resources (e.g. <A HREF="function.ldap-connect.html" ><B CLASS="function" >ldap_connect()</B ></A > returns a positive LDAP link identifier required by most LDAP functions). </P ></DIV ><DIV CLASS="section" ><H1 CLASS="section" ><A NAME="ldap.constants" >预定义常量</A ></H1 ><P >以下常量由本扩展模块定义,因此只有在本扩展模块被编译到 PHP 中,或者在运行时被动态加载后才有效。</P ><P ></P ><DIV CLASS="variablelist" ><DL ><DT ><TT CLASS="constant" ><B >LDAP_DEREF_NEVER</B ></TT > (<A HREF="language.types.integer.html" ><B CLASS="type" >integer</B ></A >)</DT ><DD ><P > </P ></DD ><DT ><TT CLASS="constant" ><B >LDAP_DEREF_SEARCHING</B ></TT > (<A HREF="language.types.integer.html" ><B CLASS="type" >integer</B ></A >)</DT ><DD ><P > </P ></DD ><DT ><TT CLASS="constant" ><B >LDAP_DEREF_FINDING</B ></TT > (<A HREF="language.types.integer.html" ><B CLASS="type" >integer</B ></A >)</DT ><DD ><P > </P ></DD ><DT ><TT CLASS="constant" ><B >LDAP_DEREF_ALWAYS</B ></TT > (<A HREF="language.types.integer.html" ><B CLASS="type" >integer</B ></A >)</DT ><DD ><P > </P ></DD ><DT ><TT CLASS="constant" ><B >LDAP_OPT_DEREF</B ></TT > (<A HREF="language.types.integer.html" ><B CLASS="type" >integer</B ></A >)</DT ><DD ><P > </P ></DD ><DT ><TT CLASS="constant" ><B >LDAP_OPT_SIZELIMIT</B ></TT > (<A HREF="language.types.integer.html" ><B CLASS="type" >integer</B ></A >)</DT ><DD ><P > </P ></DD ><DT ><TT CLASS="constant" ><B >LDAP_OPT_TIMELIMIT</B ></TT > (<A HREF="language.types.integer.html" ><B CLASS="type" >integer</B ></A >)</DT ><DD ><P > </P ></DD ><DT ><TT CLASS="constant" ><B >LDAP_OPT_PROTOCOL_VERSION</B ></TT > (<A HREF="language.types.integer.html" ><B CLASS="type" >integer</B ></A >)</DT ><DD ><P > </P ></DD ><DT ><TT CLASS="constant" ><B >LDAP_OPT_ERROR_NUMBER</B ></TT > (<A HREF="language.types.integer.html" ><B CLASS="type" >integer</B ></A >)</DT ><DD ><P > </P ></DD ><DT ><TT CLASS="constant" ><B >LDAP_OPT_REFERRALS</B ></TT > (<A HREF="language.types.integer.html" ><B CLASS="type" >integer</B ></A >)</DT ><DD ><P > </P ></DD ><DT ><TT CLASS="constant" ><B >LDAP_OPT_RESTART</B ></TT > (<A HREF="language.types.integer.html" ><B CLASS="type" >integer</B ></A >)</DT ><DD ><P > </P ></DD ><DT ><TT CLASS="constant" ><B >LDAP_OPT_HOST_NAME</B ></TT > (<A HREF="language.types.integer.html" ><B CLASS="type" >integer</B ></A >)</DT ><DD ><P > </P ></DD ><DT ><TT CLASS="constant" ><B >LDAP_OPT_ERROR_STRING</B ></TT > (<A HREF="language.types.integer.html" ><B CLASS="type" >integer</B ></A >)</DT ><DD ><P > </P ></DD ><DT ><TT CLASS="constant" ><B >LDAP_OPT_MATCHED_DN</B ></TT > (<A HREF="language.types.integer.html" ><B CLASS="type" >integer</B ></A >)</DT ><DD ><P > </P ></DD ><DT ><TT CLASS="constant" ><B >LDAP_OPT_SERVER_CONTROLS</B ></TT > (<A HREF="language.types.integer.html" ><B CLASS="type" >integer</B ></A >)</DT ><DD ><P > </P ></DD ><DT ><TT CLASS="constant" ><B >LDAP_OPT_CLIENT_CONTROLS</B ></TT > (<A HREF="language.types.integer.html" ><B CLASS="type" >integer</B ></A >)</DT ><DD ><P > </P ></DD ><DT ><TT CLASS="constant" ><B >LDAP_OPT_DEBUG_LEVEL</B ></TT > (<A HREF="language.types.integer.html" ><B CLASS="type" >integer</B ></A >)</DT ><DD ><P > </P ></DD ><DT ><TT CLASS="constant" ><B >GSLC_SSL_NO_AUTH</B ></TT > (<A HREF="language.types.integer.html" ><B CLASS="type" >integer</B ></A >)</DT ><DD ><P > </P ></DD ><DT ><TT CLASS="constant" ><B >GSLC_SSL_ONEWAY_AUTH</B ></TT > (<A HREF="language.types.integer.html" ><B CLASS="type" >integer</B ></A >)</DT ><DD ><P > </P ></DD ><DT ><TT CLASS="constant" ><B >GSLC_SSL_TWOWAY_AUTH</B ></TT > (<A HREF="language.types.integer.html" ><B CLASS="type" >integer</B ></A >)</DT ><DD ><P > </P ></DD ></DL ></DIV ></DIV ><DIV CLASS="section" ><H1 CLASS="section" ><A NAME="ldap.examples" >范例</A ></H1 ><P > Retrieve information for all entries where the surname starts with "S" from a directory server, displaying an extract with name and email address. </P ><TABLE WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" CLASS="EXAMPLE" ><TR ><TD ><DIV CLASS="example" ><A NAME="AEN103964" ></A ><P ><B >例 1. LDAP search example</B ></P ><TABLE BORDER="0" BGCOLOR="#E0E0E0" CELLPADDING="5" ><TR ><TD ><code><font color="#000000"> <font color="#0000BB"><?php<br /></font><font color="#FF8000">// basic sequence with LDAP is connect, bind, search, interpret search<br />// result, close connection<br /><br /></font><font color="#007700">echo </font><font color="#DD0000">"<h3>LDAP query test</h3>"</font><font color="#007700">;<br />echo </font><font color="#DD0000">"Connecting ..."</font><font color="#007700">;<br /></font><font color="#0000BB">$ds</font><font color="#007700">=</font><font color="#0000BB">ldap_connect</font><font color="#007700">(</font><font color="#DD0000">"localhost"</font><font color="#007700">); </font><font color="#FF8000">// must be a valid LDAP server!<br /></font><font color="#007700">echo </font><font color="#DD0000">"connect result is " </font><font color="#007700">. </font><font color="#0000BB">$ds </font><font color="#007700">. </font><font color="#DD0000">"<br />"</font><font color="#007700">;<br /><br />if (</font><font color="#0000BB">$ds</font><font color="#007700">) { <br /> echo </font><font color="#DD0000">"Binding ..."</font><font color="#007700">; <br /> </font><font color="#0000BB">$r</font><font color="#007700">=</font><font color="#0000BB">ldap_bind</font><font color="#007700">(</font><font color="#0000BB">$ds</font><font color="#007700">); </font><font color="#FF8000">// this is an "anonymous" bind, typically<br /> // read-only access<br /> </font><font color="#007700">echo </font><font color="#DD0000">"Bind result is " </font><font color="#007700">. </font><font color="#0000BB">$r </font><font color="#007700">. </font><font color="#DD0000">"<br />"</font><font color="#007700">;<br /><br /> echo </font><font color="#DD0000">"Searching for (sn=S*) ..."</font><font color="#007700">;<br /> </font><font color="#FF8000">// Search surname entry<br /> </font><font color="#0000BB">$sr</font><font color="#007700">=</font><font color="#0000BB">ldap_search</font><font color="#007700">(</font><font color="#0000BB">$ds</font><font color="#007700">, </font><font color="#DD0000">"o=My Company, c=US"</font><font color="#007700">, </font><font color="#DD0000">"sn=S*"</font><font color="#007700">); <br /> echo </font><font color="#DD0000">"Search result is " </font><font color="#007700">. </font><font color="#0000BB">$sr </font><font color="#007700">. </font><font color="#DD0000">"<br />"</font><font color="#007700">;<br /><br /> echo </font><font color="#DD0000">"Number of entires returned is " </font><font color="#007700">. </font><font color="#0000BB">ldap_count_entries</font><font color="#007700">(</font><font color="#0000BB">$ds</font><font color="#007700">, </font><font color="#0000BB">$sr</font><font color="#007700">) . </font><font color="#DD0000">"<br />"</font><font color="#007700">;<br /><br /> echo </font><font color="#DD0000">"Getting entries ...<p>"</font><font color="#007700">;<br /> </font><font color="#0000BB">$info </font><font color="#007700">= </font><font color="#0000BB">ldap_get_entries</font><font color="#007700">(</font><font color="#0000BB">$ds</font><font color="#007700">, </font><font color="#0000BB">$sr</font><font color="#007700">);<br /> echo </font><font color="#DD0000">"Data for " </font><font color="#007700">. </font><font color="#0000BB">$info</font><font color="#007700">[</font><font color="#DD0000">"count"</font><font color="#007700">] . </font><font color="#DD0000">" items returned:<p>"</font><font color="#007700">;<br /><br /> for (</font><font color="#0000BB">$i</font><font color="#007700">=</font><font color="#0000BB">0</font><font color="#007700">; </font><font color="#0000BB">$i</font><font color="#007700"><</font><font color="#0000BB">$info</font><font color="#007700">[</font><font color="#DD0000">"count"</font><font color="#007700">]; </font><font color="#0000BB">$i</font><font color="#007700">++) {<br /> echo </font><font color="#DD0000">"dn is: " </font><font color="#007700">. </font><font color="#0000BB">$info</font><font color="#007700">[</font><font color="#0000BB">$i</font><font color="#007700">][</font><font color="#DD0000">"dn"</font><font color="#007700">] . </font><font color="#DD0000">"<br />"</font><font color="#007700">;<br /> echo </font><font color="#DD0000">"first cn entry is: " </font><font color="#007700">. </font><font color="#0000BB">$info</font><font color="#007700">[</font><font color="#0000BB">$i</font><font color="#007700">][</font><font color="#DD0000">"cn"</font><font color="#007700">][</font><font color="#0000BB">0</font><font color="#007700">] . </font><font color="#DD0000">"<br />"</font><font color="#007700">;<br /> echo </font><font color="#DD0000">"first email entry is: " </font><font color="#007700">. </font><font color="#0000BB">$info</font><font color="#007700">[</font><font color="#0000BB">$i</font><font color="#007700">][</font><font color="#DD0000">"mail"</font><font color="#007700">][</font><font color="#0000BB">0</font><font color="#007700">] . </font><font color="#DD0000">"<br /><hr />"</font><font color="#007700">;<br /> }<br /><br /> echo </font><font color="#DD0000">"Closing connection"</font><font color="#007700">;<br /> </font><font color="#0000BB">ldap_close</font><font color="#007700">(</font><font color="#0000BB">$ds</font><font color="#007700">);<br /><br />} else {<br /> echo </font><font color="#DD0000">"<h4>Unable to connect to LDAP server</h4>"</font><font color="#007700">;<br />}<br /></font><font color="#0000BB">?></font> </font> </code></TD ></TR ></TABLE ></DIV ></TD ></TR ></TABLE ></DIV ><DIV CLASS="section" ><H1 CLASS="section" ><A NAME="ldap.using" >Using the PHP LDAP calls</A ></H1 ><P > Before you can use the LDAP calls you will need to know .. <P ></P ><UL ><LI ><P > The name or address of the directory server you will use </P ></LI ><LI ><P > The "base dn" of the server (the part of the world directory that is held on this server, which could be "o=My Company,c=US") </P ></LI ><LI ><P > Whether you need a password to access the server (many servers will provide read access for an "anonymous bind" but require a password for anything else) </P ></LI ></UL ></P ><P > The typical sequence of LDAP calls you will make in an application will follow this pattern: <P CLASS="literallayout" ><br> ldap_connect() // establish connection to server<br> |<br> ldap_bind() // anonymous or authenticated "login"<br> |<br> do something like search or update the directory<br> and display the results<br> |<br> ldap_close() // "logout"<br> </P ></P ></DIV ></DIV ><DIV CLASS="TOC" ><DL ><DT ><B >目录</B ></DT ><DT ><A HREF="function.ldap-8859-to-t61.html" >ldap_8859_to_t61</A > -- Translate 8859 characters to t61 characters</DT ><DT ><A HREF="function.ldap-add.html" >ldap_add</A > -- Add entries to LDAP directory</DT ><DT ><A HREF="function.ldap-bind.html" >ldap_bind</A > -- Bind to LDAP directory</DT ><DT ><A HREF="function.ldap-close.html" >ldap_close</A > -- 别名 <A HREF="function.ldap-unbind.html" ><B CLASS="function" >ldap_unbind()</B ></A ></DT ><DT ><A HREF="function.ldap-compare.html" >ldap_compare</A > -- Compare value of attribute found in entry specified with DN</DT ><DT ><A HREF="function.ldap-connect.html" >ldap_connect</A > -- Connect to an LDAP server</DT ><DT ><A HREF="function.ldap-count-entries.html" >ldap_count_entries</A > -- Count the number of entries in a search</DT ><DT ><A HREF="function.ldap-delete.html" >ldap_delete</A > -- Delete an entry from a directory</DT ><DT ><A HREF="function.ldap-dn2ufn.html" >ldap_dn2ufn</A > -- Convert DN to User Friendly Naming format</DT ><DT ><A HREF="function.ldap-err2str.html" >ldap_err2str</A > -- Convert LDAP error number into string error message</DT ><DT ><A HREF="function.ldap-errno.html" >ldap_errno</A > -- Return the LDAP error number of the last LDAP command</DT ><DT ><A HREF="function.ldap-error.html" >ldap_error</A > -- Return the LDAP error message of the last LDAP command</DT ><DT ><A HREF="function.ldap-explode-dn.html" >ldap_explode_dn</A > -- Splits DN into its component parts</DT ><DT ><A HREF="function.ldap-first-attribute.html" >ldap_first_attribute</A > -- Return first attribute</DT ><DT ><A HREF="function.ldap-first-entry.html" >ldap_first_entry</A > -- Return first result id</DT ><DT ><A HREF="function.ldap-first-reference.html" >ldap_first_reference</A > -- Return first reference</DT ><DT ><A HREF="function.ldap-free-result.html" >ldap_free_result</A > -- Free result memory</DT ><DT ><A HREF="function.ldap-get-attributes.html" >ldap_get_attributes</A > -- Get attributes from a search result entry</DT ><DT ><A HREF="function.ldap-get-dn.html" >ldap_get_dn</A > -- Get the DN of a result entry</DT ><DT ><A HREF="function.ldap-get-entries.html" >ldap_get_entries</A > -- Get all result entries</DT ><DT ><A HREF="function.ldap-get-option.html" >ldap_get_option</A > -- Get the current value for given option</DT ><DT ><A HREF="function.ldap-get-values-len.html" >ldap_get_values_len</A > -- Get all binary values from a result entry</DT ><DT ><A HREF="function.ldap-get-values.html" >ldap_get_values</A > -- Get all values from a result entry</DT ><DT ><A HREF="function.ldap-list.html" >ldap_list</A > -- Single-level search</DT ><DT ><A HREF="function.ldap-mod-add.html" >ldap_mod_add</A > -- Add attribute values to current attributes</DT ><DT ><A HREF="function.ldap-mod-del.html" >ldap_mod_del</A > -- Delete attribute values from current attributes</DT ><DT ><A HREF="function.ldap-mod-replace.html" >ldap_mod_replace</A > -- Replace attribute values with new ones</DT ><DT ><A HREF="function.ldap-modify.html" >ldap_modify</A > -- Modify an LDAP entry</DT ><DT ><A HREF="function.ldap-next-attribute.html" >ldap_next_attribute</A > -- Get the next attribute in result</DT ><DT ><A HREF="function.ldap-next-entry.html" >ldap_next_entry</A > -- Get next result entry</DT ><DT ><A HREF="function.ldap-next-reference.html" >ldap_next_reference</A > -- Get next reference</DT ><DT ><A HREF="function.ldap-parse-reference.html" >ldap_parse_reference</A > -- Extract information from reference entry</DT ><DT ><A HREF="function.ldap-parse-result.html" >ldap_parse_result</A > -- Extract information from result</DT ><DT ><A HREF="function.ldap-read.html" >ldap_read</A > -- Read an entry</DT ><DT ><A HREF="function.ldap-rename.html" >ldap_rename</A > -- Modify the name of an entry</DT ><DT ><A HREF="function.ldap-sasl-bind.html" >ldap_sasl_bind</A > -- Bind to LDAP directory using SASL</DT ><DT ><A HREF="function.ldap-search.html" >ldap_search</A > -- Search LDAP tree</DT ><DT ><A HREF="function.ldap-set-option.html" >ldap_set_option</A > -- Set the value of the given option</DT ><DT ><A HREF="function.ldap-set-rebind-proc.html" >ldap_set_rebind_proc</A > -- Set a callback function to do re-binds on referral chasing</DT ><DT ><A HREF="function.ldap-sort.html" >ldap_sort</A > -- Sort LDAP result entries</DT ><DT ><A HREF="function.ldap-start-tls.html" >ldap_start_tls</A > -- Start TLS</DT ><DT ><A HREF="function.ldap-t61-to-8859.html" >ldap_t61_to_8859</A > -- Translate t61 characters to 8859 characters</DT ><DT ><A HREF="function.ldap-unbind.html" >ldap_unbind</A > -- Unbind from LDAP directory</DT ></DL ></DIV ></DIV ></DIV ><DIV CLASS="NAVFOOTER" ><HR ALIGN="LEFT" WIDTH="100%"><TABLE SUMMARY="Footer navigation table" WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" ><A HREF="function.kadm5-modify-principal.html" ACCESSKEY="P" >上一页</A ></TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" ><A HREF="index.html" ACCESSKEY="H" >起始页</A ></TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" ><A HREF="function.ldap-8859-to-t61.html" ACCESSKEY="N" >下一页</A ></TD ></TR ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" >kadm5_modify_principal</TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" ><A HREF="funcref.html" ACCESSKEY="U" >上一级</A ></TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" >ldap_8859_to_t61</TD ></TR ></TABLE ></DIV ></BODY ></HTML >