Ver Mensaje Individual
  #2 (permalink)  
Antiguo 02/01/2014, 11:58
Avatar de GatorV
GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Utilizar la API de Mysqlnd desde php

El problema es que no entiendes que es MySQLND.

PHP usa la librería de MySQL para poder enlazarse directamente a MySQL, esa librería (libmysql) es usada por las extensiones de PHP (mysqli, mysql, pdo_mysql), y dependen totalmente de ella, pero por cambios de licencia en MySQL, los desarrolladores de PHP optaron por escribir una librería de acceso ellos mismos basada en libmysql y agregandole características extra.

Esta nueva librería (mysqlnd) esta en C, al igual que libmysql, solo que no depende en nada de MySQL, es una implementación propia y total de PHP.

La librería lo que hace es enlazar una comunicación común entre el cliente y el servidor, usando TCP/IP, y un API estandarizado de seguridad, compresión, pool de conexiones etc. Si te pones a estudiar un poco de como funciona MySQL, pudieras tú mismo desde PHP conectarte usando las operaciones de Sockets de PHP, pero tendrías que implementar todo, desde como comprime los datos, como los cifra, cache de datos etc, es mucho trabajo para algo que ya esta hecho.

Ahora estas librerías lo que hacen es exponer un API común, y este API es consumido totalmente por las extensiones de PHP en C, las extensiones a su vez (en C) exponen el API directamente a PHP, para ser consumido por tus scripts PHP.

Cuando compilas las extensiones (o al compilar PHP) le debes de indicar al compilador que librería va a usar, si libmysql (shared) o mysqlnd (built-in), esto es porque no es algo que se pueda exponer en tiempo de ejecución, las librerías están enlazadas en el código fuente.

Si entiendes esto, vas a ver que no puedes accesar a estas librerías, desde PHP, sin hacer una extensión en el lenguaje base (esto es en C).

Si lo que quieres es hacer esto hay mucha documentación del ZendEngine, pero no vas a obtener ninguna ganancia al hacerlo vía las extensiones que PHP ya te da (mysql, mysqli, pdo_mysql).

Saludos.