The mysqlnd user handler plugin can be understood as a client-side proxy
  for all PHP MySQL extensions (mysqli,
  mysql,
  PDO_MYSQL), if they are compiled to
  use the mysqlnd library. The
  extensions use the mysqlnd library internally, at the C
  level, to communicate with the MySQL server. PECL/mysqlnd_uh
  allows it to hook many mysqlnd calls. Therefore,
  most activities of the PHP MySQL extensions can be monitored.
 
Because monitoring happens at the level of the library, at a layer below the application, it is possible to monitor applications without changing them.
  On the C level, the mysqlnd library is structured in modules
  or classes. The extension hooks almost all methods of the mysqlnd
  internal connection class and exposes them through the
  user space class MysqlndUhConnection. Some few methods of
  the mysqlnd internal statement class are made available
  to the PHP user with the class MysqlndUhPreparedStatement.
  By subclassing the classes MysqlndUhConnection and
  MysqlndUhPreparedStatement users get access to
  mysqlnd internal function calls.
 
Note:
The internal
mysqlndfunction calls are not designed to be exposed to the PHP user. Manipulating their activities may cause PHP to crash or leak memory. Often, this is not considered a bug. Please, keep in mind that you are accessing C library functions through PHP which are expected to take certain actions, which you may not be able to emulate in user space. Therefore, it is strongly recommended to always call the parent method implementation when subclassing MysqlndUhConnection or MysqlndUhPreparedStatement. To prevent the worst case, the extension performs some sanity checks. Please, see also the Mysqlnd_uh 配置选项.