Instalación

La extensión mysqli se introdujo en la versión 5.0.0 de PHP. El Controlador Nativo de MySQL se introdujo en la versión 5.3.0 de PHP.

Instalación en Linux

Las distribuciones comunes de Unix incluyen versiones binarias de PHP que se pueden instalar. Aunque estas versiones binarias son típicamente construidas con soporte para las extensiones de MySQL, podría ser necesario instarlar las bibliotecas de extensiones en sí utilizando un paquete adicional. Compruebe el gestor de paquetes que viene con la distribución elegida para su disponibilidad.

Por ejemplo, en Ubuntu el paquete php5-mysql instala las extensiones de PHP ext/mysql, ext/mysqli, y pdo_mysql. En CentOS, el paquete php-mysql también instala estas tres extensiones de PHP.

De forma alternativa, esta extensión la puede compilar uno mismo. Construir PHP desde la fuente permite especificar las extensiones de MySQL que se quieren usar, así como elegir la biblioteca cliente para cada extensión.

La opción de la biblioteca cliente recomendada es el Controlador Nativio de MySQL, ya que sus resultados mejoran el rendimiento y dan acceso a características no disponibles cuando se utiliza la Biblioteca Cliente de MySQL. Consúlte ¿Qué es el Controlador Nativo de MySQL para PHP?, que contiene un breve resumen de las ventajas del Controlador Nativo de MySQL.

ruta/a/mysql_config representa la ubicación del programa mysql_config que viene con el Servidor de 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.4.x mysqlnd --with-mysqli --with-mysqli=ruta/a/mysql_config mysqlnd ahora es el predeterminado
5.3.x libmysqlclient --with-mysqli=mysqlnd --with-mysqli=ruta/a/mysql_config mysqlnd tiene soporte
5.0.x, 5.1.x, 5.2.x libmysqlclient No Disponible --with-mysqli=ruta/a/mysql_config mysqlnd no tiene soporte

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

Instalación en sistemas Windows

En Windows es más común instalar PHP con el instalador binario.

PHP 5.3.0 y posterior

En Windows, con las versiones 5.3 o superiores de PHP, la extensión mysqli viene habilitada y utiliza por omisión el Controlador Nativo de MySQL, lo que significa que no es necesario configurar el acceso a libmysql.dll.

PHP 5.0, 5.1, 5.2

En estas versiones antiguas de PHP sin soporte (PHP 5.2 alcanzó su final de vida útil el 6 de enero de 2011), son necesarios procedimientos adicionales de 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 la DLL php_mysqli.dll debe habilitarse en php.ini. Para esto, es necesario encontrar el fichero php.ini (normalmente se encuentra en c:\php), y asegurarse de eliminar el comentario (punto y coma) al inicio de la línea extension=php_mysqli.dll, en la sección marcada como [PHP_MYSQLI].

Además, para utilizar la biblioteca cliente de MySQL con mysqli, debe asegurarse de que PHP puede acceder al fichero de la biblioteca cliente. La biblioteca cliente MySQL se incluye como un fichero de nombre libmysql.dll en la distribución de PHP en Windows. Este fichero 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 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.