mirror of
https://github.com/sigmasternchen/php-doc-en
synced 2025-03-26 22:08:55 +00:00

git-svn-id: https://svn.php.net/repository/phpdoc/en/trunk@334416 c90b9560-bf6c-de11-be94-00142212c4b1
214 lines
7.1 KiB
XML
214 lines
7.1 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<!-- $Revision$ -->
|
|
<section xml:id="mysqli.installation" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
|
|
&reftitle.install;
|
|
|
|
<para>
|
|
The <literal>mysqli</literal> extension was introduced with PHP version
|
|
5.0.0. The MySQL Native Driver was included in PHP version 5.3.0.
|
|
</para>
|
|
|
|
<section xml:id="mysqli.installation.linux">
|
|
|
|
<title>Installation on Linux</title>
|
|
|
|
<para>
|
|
The common Unix distributions include binary versions of PHP that can
|
|
be installed. Although these binary versions are typically built with
|
|
support for MySQL extensions enabled, the extension libraries
|
|
themselves may need to be installed using an additional package. Check
|
|
the package manager than comes with your chosen distribution for
|
|
availability.
|
|
</para>
|
|
|
|
<para>
|
|
Unless your Unix distribution comes with a binary package of PHP with
|
|
the <literal>mysqli</literal> extension available, you will need to
|
|
build PHP from source code. Building PHP from source allows you to
|
|
specify the MySQL extensions you want to use, as well as your choice
|
|
of client library for each extension.
|
|
</para>
|
|
|
|
<para>
|
|
The MySQL Native Driver is the recommended option, as it
|
|
results in improved performance and gives access to features not
|
|
available when using the MySQL Client Library. Refer to
|
|
<link linkend="mysqli.overview.mysqlnd">What is PHP's MySQL Native
|
|
Driver?</link> for a brief overview of the advantages of MySQL Native
|
|
Driver.
|
|
</para>
|
|
|
|
<para>
|
|
The <literal>/path/to/mysql_config</literal> represents the location of
|
|
the <literal>mysql_config</literal> program that comes with MySQL
|
|
Server.
|
|
</para>
|
|
|
|
<table>
|
|
<title>mysqli compile time support matrix</title>
|
|
<tgroup cols="5">
|
|
<thead>
|
|
<row>
|
|
<entry>PHP &Version;</entry>
|
|
<entry>&Default;</entry>
|
|
<entry>&ConfigureOptions;: <link linkend="mysqlnd.overview">mysqlnd</link></entry>
|
|
<entry>&ConfigureOptions;: <literal>libmysqlclient</literal></entry>
|
|
<entry>&Changelog;</entry>
|
|
</row>
|
|
</thead>
|
|
<tbody>
|
|
<row>
|
|
<entry>5.0.x, 5.1.x, 5.2.x</entry>
|
|
<entry>libmysqlclient</entry>
|
|
<entry>&NotAvailable;</entry>
|
|
<entry><option role="configure">--with-mysqli=/path/to/mysql_config</option></entry>
|
|
<entry></entry>
|
|
</row>
|
|
<row>
|
|
<entry>5.3.x</entry>
|
|
<entry>libmysqlclient</entry>
|
|
<entry><option role="configure">--with-mysqli=mysqlnd</option></entry>
|
|
<entry><option role="configure">--with-mysqli=/path/to/mysql_config</option></entry>
|
|
<entry>mysqlnd is now supported</entry>
|
|
</row>
|
|
<row>
|
|
<entry>5.4.x</entry>
|
|
<entry>mysqlnd</entry>
|
|
<entry><option role="configure">--with-mysqli</option></entry>
|
|
<entry><option role="configure">--with-mysqli=/path/to/mysql_config</option></entry>
|
|
<entry>mysqlnd is now the default</entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</table>
|
|
|
|
<para>
|
|
Note that it is possible to freely mix MySQL extensions and client
|
|
libraries. For example, it is possible to enable the MySQL extension
|
|
to use the MySQL Client Library (libmysqlclient), while configuring the
|
|
<literal>mysqli</literal> extension to use the MySQL Native Driver.
|
|
However, all permutations of extension and client library are
|
|
possible.
|
|
</para>
|
|
|
|
<para>
|
|
The following example builds the MySQL extension to use the MySQL
|
|
Client Library, and the <literal>mysqli</literal> and PDO MYSQL
|
|
extensions to use the MySQL Native Driver:
|
|
</para>
|
|
|
|
<programlisting role="shell">
|
|
<![CDATA[
|
|
./configure --with-mysql=/usr/bin/mysql_config \
|
|
--with-mysqli=mysqlnd \
|
|
--with-pdo-mysql=mysqlnd
|
|
[other options]
|
|
]]>
|
|
</programlisting>
|
|
</section>
|
|
|
|
<section xml:id="mysqli.installation.windows">
|
|
|
|
<title>Installation on Windows Systems</title>
|
|
|
|
<para>
|
|
On Windows, PHP is most commonly installed using the binary
|
|
installer.
|
|
</para>
|
|
|
|
<section xml:id="mysqli.installation.windows.php52">
|
|
|
|
<title>PHP 5.0, 5.1, 5.2</title>
|
|
|
|
<para>
|
|
Once PHP has been installed, some configuration is
|
|
required to enable <literal>mysqli</literal> and specify the client
|
|
library you want it to use.
|
|
</para>
|
|
|
|
<para>
|
|
The <literal>mysqli</literal> extension is not
|
|
enabled by default, so the <filename>php_mysqli.dll</filename> DLL
|
|
must be enabled inside of &php.ini;. In order to do this you need to
|
|
find the &php.ini; file (typically located in
|
|
<filename>c:\php</filename>), and make sure you remove the comment
|
|
(semi-colon) from the start of the line
|
|
<literal>extension=php_mysqli.dll</literal>, in the section marked
|
|
<literal>[PHP_MYSQLI]</literal>.
|
|
</para>
|
|
|
|
<para>
|
|
Also, if you want to use the MySQL Client Library with
|
|
<literal>mysqli</literal>, you need to make sure PHP can access the
|
|
client library file. The MySQL Client Library is included as a file
|
|
named <filename>libmysql.dll</filename> in the Windows PHP
|
|
distribution. This file needs to be available in the Windows system's
|
|
<envar>PATH</envar> environment variable, so that it can be
|
|
successfully loaded. See the FAQ titled
|
|
"<link linkend="faq.installation.addtopath">How do I add my PHP
|
|
directory to the PATH on Windows</link>" for information on how to do
|
|
this. Copying <filename>libmysql.dll</filename> to the Windows system
|
|
directory (typically <filename>c:\Windows\system</filename>) also
|
|
works, as the system directory is by default in the system's
|
|
<envar>PATH</envar>. However, this practice is strongly discouraged.
|
|
</para>
|
|
|
|
<para>
|
|
As with enabling any PHP extension (such as
|
|
<filename>php_mysqli.dll</filename>), the PHP directive
|
|
<link linkend="ini.extension-dir">extension_dir</link> should be set
|
|
to the directory where the PHP extensions are located. See also the
|
|
<link linkend="install.windows.manual">Manual Windows Installation
|
|
Instructions</link>. An example <literal>extension_dir</literal>
|
|
value for PHP 5 is <filename>c:\php\ext</filename>.
|
|
</para>
|
|
|
|
<note>
|
|
<para>
|
|
If when starting the web server an error similar to the following
|
|
occurs: <literal>"Unable to load dynamic library
|
|
'./php_mysqli.dll'"</literal>, this is because
|
|
<filename>php_mysqli.dll</filename> and/or
|
|
<filename>libmysql.dll</filename> cannot be found by the system.
|
|
</para>
|
|
</note>
|
|
</section>
|
|
|
|
<section xml:id="mysqli.installation.windows.php53">
|
|
|
|
<title>PHP 5.3.0+</title>
|
|
|
|
<para>
|
|
On Windows, for PHP versions 5.3 and newer, the
|
|
<literal>mysqli</literal> extension is enabled and
|
|
uses the MySQL Native Driver by default. This means you don't need to
|
|
worry about configuring access
|
|
to <filename>libmysql.dll</filename>.
|
|
</para>
|
|
|
|
</section>
|
|
|
|
</section>
|
|
|
|
</section>
|
|
<!-- 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
|
|
-->
|