Installation on Linux
The common Unix distributions include binary versions of PHP that can
be installed. Although these binary versions are typically built with
support for the MySQL extensions, the extension libraries
themselves may need to be installed using an additional package. Check
the package manager that comes with your chosen distribution for
availability.
For example, on Ubuntu the php5-mysql
package installs
the ext/mysql, ext/mysqli, and pdo_mysql PHP extensions. On CentOS,
the php-mysql
package also installs these three
PHP extensions.
Alternatively, you can compile this extension yourself. 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.
The MySQL Native Driver is the recommended client library option, as it
results in improved performance and gives access to features not
available when using the MySQL Client Library. Refer to
What is PHP's MySQL Native
Driver? for a brief overview of the advantages of MySQL Native
Driver.
The /path/to/mysql_config
represents the location of
the mysql_config
program that comes with MySQL
Server.
mysqli compile time support matrix
PHP Version |
Default |
Configure Options: mysqlnd |
Configure Options: libmysqlclient |
Changelog |
5.4.x and above |
mysqlnd |
--with-mysqli |
--with-mysqli=/path/to/mysql_config |
mysqlnd is the default |
5.3.x |
libmysqlclient |
--with-mysqli=mysqlnd |
--with-mysqli=/path/to/mysql_config |
mysqlnd is supported |
5.0.x, 5.1.x, 5.2.x |
libmysqlclient |
Not Available |
--with-mysqli=/path/to/mysql_config |
mysqlnd is not supported |
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
mysqli
extension to use the MySQL Native Driver.
However, all permutations of extension and client library are
possible.
Installation on Windows Systems
On Windows, php_mysqli.dll DLL must be enabled in
php.ini.
As with enabling any PHP extension (such as
php_mysqli.dll), the PHP directive
extension_dir should be set
to the directory where the PHP extensions are located. See also the
Manual Windows Installation
Instructions. An example extension_dir
value is c:\php\ext.
Note:
If when starting the web server an error similar to the following
occurs: "Unable to load dynamic library
'./php_mysqli.dll'"
, this is because
php_mysqli.dll cannot be found by the system.