Guía rápida y ejemplos

Tabla de contenidos

El complemento gestor del usuario de mysqlnd puede ser interpretado como un delegado (proxy) en la parte del cliente para todas las extensiones de MySQL para PHP (mysqli, mysql, PDO_MYSQL), si éstas están compiladas para utilizar la biblioteca mysqlnd. Dichas extensiones usan la biblioteca mysqlnd internamente, a nivel de C, para comunicarse con el servidor MySQL. PECL/mysqlnd_uh permite capturar muchas llamadas a mysqlnd. Por lo tanto, la mayoría de las actividades de las extensiones de MySQL para PHP pueden ser monitorizadas.

Ya que la monitorización sucede al nivel de la biblioteca, en una capa bajo la aplicación, es posible monitorizar aplicaciones sin tener que modificarlas.

En el nivel de C, la biblioteca mysqlnd está estructurada en módulos o clases. La extensión captura casi todos los métodos de la clase interna connection de mysqlnd y los expone a través de la clase del espacio de usuario MysqlndUhConnection. Unos pocos métodos de la clase interna statement de mysqlnd están disponibles para el usuario de PHP con la clase MysqlndUhPreparedStatement. Mediante la derivación de las clases MysqlndUhConnection y MysqlndUhPreparedStatement, los ususarios obtienen acceso a las llamadas a las funciones internas de mysqlnd.

Nota:

Las llamadas a las funciones internas de mysqlnd no estás diseñadas para ser expuestas al usuario de PHP. La manipulación de sus actividades podría causar que PHP falle o que se pierda memoria. A menudo, esto no se considera un fallo. Por favor, recuerde que se está accediendo a funciones de la biblioteca en C a través de PHP de las que se espera que realicen ciertas acciones, la cuales podrían no emularse en el espacio de usuario. Por lo tanto, se recomienda encarecidamente invocar siempre a la implementación del método padre cuando se derive de MysqlndUhConnection o de MysqlndUhPreparedStatement. Para prevenir el peor de los casos, la extensión lleva a cabo algunas comprobaciones sensatas. Por favor, véanse también las Opciones de configuración de Mysqlnd_uh.