Instalación

La extensión mysqli se introdujo en PHP versión 5.0.0. El Driver Nativo MySQL se introdujo en PHP version 5.3.0.

Instalación en Linux

Las distribuciones más comunes de Unix incluyen versiones binarias de PHP que pueden ser instalados. Aunque estas versiones binarias son típicamente construidos con soporte para extensiones de MySQL habilitada, las bibliotecas de extensión puede ser necesario instalarlo utilizando un paquete adicional. Compruebe el gestor de paquetes que viene con su distribución elegida para disponibilidad.

Si su distribución de Unix no viene con un paquete binario de PHP con la extensión mysqli disponible, tendrá que compilar PHP desde código fuente. La compilación de PHP desde el código fuente le permite especificar las extensiones de MySQL que desea utilizar, así como la elección de la biblioteca cliente para cada extensión.

La opción recomendada es el Controlador Nativio de MySQL, ya que sus resultados mejoran el rendimiento y dan acceso a características no disponibles al usar la Biblioteca Cliente de MySQL. Consúlte ¿Qué es el Controlador Nativo de MySQL para PHP? para una visión general breve de las ventajas del Controlador Nativo de MySQL.

/path/to/mysql_config representa la ubicación del programa mysql_config que viene con el Servidor MySQL.

Matriz de soporte en tiempo de compilación de mysqli
PHP Versión Por defecto Opciones de configuración: mysqlnd Opciones de configuración: libmysqlclient Historial de cambios
5.0.x, 5.1.x, 5.2.x libmysqlclient Not Available --with-mysqli=/path/to/mysql_config  
5.3.x libmysqlclient --with-mysqli=mysqlnd --with-mysqli=/path/to/mysql_config mysqlnd ahora es soportada
5.4.x mysqlnd --with-mysqli --with-mysqli=/path/to/mysql_config mysqlnd ahora es el predeterminado

Observe que es posible mezclar libremente extensiones de MySQL y bibliotecas cliente. Por ejemplo, es posible habilitar la extensión de MySQL para usar la Biblioteca Cliente de MySQL (libmysqlclient), mientras se configura la extensión mysqli para usar el Controlador Nativo de MySQL. No obstante, son posibles todas las permutaciones de extensiones y bibliotecas cliente.

El siguiente ejemplo compila la extensión MySQL para usar la Biblioteca Cliente de MySQL, y las extensiones mysqli y PDO MYSQL para usar el Controlador Nativo de MySQL:

./configure --with-mysql=/usr/bin/mysql_config  \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd
[other options]

Instalación en sistemas Windows

En Windows, PHP es más comúnmente instalado usando el instalador binario.

PHP 5.0, 5.1, 5.2

Una vez que se ha instalado PHP, se debe ajustar la configuración para habilitar mysqli y especificar la biblioteca cliente que se va a utilizar.

La extensión mysqli no está habilitada por defecto, por lo que el archivo DLL php_mysqli.dll debe habilitarse al interior de php.ini. Para hacer esto usted necesita encontrar el archivo php.ini (normalmente se encuentra en c:\php), y asegúrese de eliminar el comentario (punto y coma) desde el inicio de la línea de extension=php_mysqli.dll, en la sección marcada como [PHP_MYSQLI].

Además, si desea utilizar la biblioteca de cliente MySQL con mysqli, debe asegurarse de que PHP puede acceder al archivo de la biblioteca de cliente. La biblioteca de cliente MySQL se incluye como un archivo de nombre libmysql.dll en la distribución de PHP en Windows. Este archivo debe estar disponible en la variable de entorno de sistema de Windows PATH, de modo que puede ser cargado con éxito. Véase la FAQ titulada "Cómo agrego mi directorio PHP a la variable PATH en Windows" para obtener información sobre cómo hacer esto. Copiar libmysql.dll al directorio de sistema de Windows (normalmente C:\Windows\System) funciona, pues el directorio de sistema esta por defecto en el PATH del sistema. Sin embargo, esta práctica está totalmente desaconsejada.

Al igual que con cualquier otra extensión de PHP (como php_mysqli.dll), la directiva de PHP extension_dir se debe de establecer en el directorio donde están ubicadas las extensiones de PHP. Consulte tambien el Manual de instalación de Windows. Un ejemplo de valor de extension_dir para PHP 5 es c:\php\ext.

Nota:

Si al iniciar el servidor web un error similar al siguiente ocurre: "Unable to load dynamic library './php_mysqli.dll'", esto es porque php_mysqli.dll y/o libmysql.dll no pudo ser encontrado por el sistema.

PHP 5.3.0+

En Windows, con versiones de PHP 5.3 o superiores, la extensión mysqli viene habilitada y utiliza por omisión el Driver Nativo MySQL. Esto significa que no debe preocuparse por configurar el acceso a libmysql.dll.

add a note add a note

User Contributed Notes 6 notes

up
3
arekm
4 years ago
"using the MySQL Native Driver results in improved performance and gives access to features not available when using the MySQL Client Library"

Of course there are also disadvantages:
- no SSL support (a nightmare!)
- no mysql < 4.1 support

So some people cannot use mysqlnd :(
up
4
David dot Kit dot Friedman at gmail dot com
5 years ago
>On Windows, PHP is most commonly installed using the binary installer. Once PHP has been installed, some >configuration is required to enable mysqli and specify the client library you want it to use.

Basically, if you want to add extensions you can double-click again on the installer file. The installer will find the already installed PHP and will ask if you want to change the installation.

When you go through the prompts it will take you back to the list of extensions and you can pick which extensions you want to add.

For the mysqli extension the installer also edited php.ini so that the extension was enabled:

[PHP_MYSQLI]
extension=php_mysqli.dll

the installer added those lines to the end of the file.
up
0
Anonymous
2 months ago
Thank you to whoever included the installation for cent OS :)
up
0
Mark F
3 years ago
Just to note with regards to SSL and compression. MySQLnd and thus extensions using mysqlnd such as mysqli... now supports SSL and compression. Both have been supported inside mysqlnd since PHP 5.3.3 - http://www.php.net/manual/en/mysqlnd.overview.php
up
-2
josh dot ribakoff at gmail dot com
5 years ago
I kept getting configure errors:

/tmp/cc4f2PKd.o: In function `main':
/usr/src/php-5.3.0/configure:14287: undefined reference to `yp_get_default_domain'
collect2: ld returned 1 exit status
configure: failed program was:
#line 14270 "configure"
#include "confdefs.h"

The solution was to configure with mysql native driver as outlined on this page.
up
-7
Anonymous
1 year ago
yum install php-mysqli
--centos Linux 2.6.18-308.el5
To Top