<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<chapter xml:id="mysqlnd.install" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">

  <title>Installation</title>

  <para>
   <emphasis role="bold">&Changelog;</emphasis>
  </para>

  <table>
   <title>&Changelog;</title>
   <tgroup cols="2">
    <thead>
     <row>
      <entry>&Version;</entry>
      <entry>&Description;</entry>
     </row>
    </thead>
    <tbody>
     <row>
      <entry>5.3.0</entry>
      <entry>
       The MySQL Native Driver was added, with support for all MySQL
       extensions (i.e., mysql, mysqli and PDO_MYSQL). Passing in
       <literal>mysqlnd</literal> to the appropriate configure switch
       enables this support.
      </entry>
     </row>
     <row>
      <entry>5.4.0</entry>
      <entry>
       The MySQL Native Driver is now the default for all MySQL
       extensions (i.e., mysql, mysqli and PDO_MYSQL). Passing
       in <literal>mysqlnd</literal> to configure is now optional.
      </entry>
     </row>
     <row>
      <entry>5.5.0</entry>
      <entry>
       SHA-256 Authentication Plugin support was added
      </entry>
     </row>
    </tbody>
   </tgroup>
  </table>

  <para>
    <emphasis role="bold">Installation on Unix</emphasis>
  </para>

  <para>
    The MySQL database extensions must be configured to use the MySQL
    Client Library. In order to use the MySQL Native Driver, PHP needs
    to be built specifying that the MySQL database extensions are
    compiled with MySQL Native Driver support. This is done through
    configuration options prior to building the PHP source code.
  </para>

  <para>
    For example, to build the MySQL extension, <literal>mysqli</literal>
    and PDO MYSQL using the MySQL Native Driver, the following command
    would be given:
  </para>

<programlisting role="shell">
<![CDATA[
 ./configure --with-mysql=mysqlnd \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
[other options]
]]>
</programlisting>

  <para>
    <emphasis role="bold">Installation on Windows</emphasis>
  </para>

  <para>
    In the official PHP Windows distributions from 5.3 onwards, MySQL Native
    Driver is enabled by default, so no additional configuration is
    required to use it. All MySQL database extensions will use MySQL
    Native Driver in this case.
  </para>

  <para>
    <emphasis role="bold">SHA-256 Authentication Plugin support</emphasis>
  </para>

  <para>
    The MySQL Native Driver requires the OpenSSL functionality of PHP to be loaded
    and enabled to connect to MySQL through accounts that use the MySQL SHA-256
    Authentication Plugin. For example, PHP could be configured using:
  </para>

<programlisting role="shell">
<![CDATA[
./configure --with-mysql=mysqlnd \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-openssl
[other options]
]]>
</programlisting>

</chapter>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->