PhpRiot
News Archive
PhpRiot Newsletter
Your Email Address:

More information

ThinkPHP Blog: MySQLnd Plugins: Writing a MySQL Query Logger in PHP

Note: This article was originally published at PHPDeveloper on 19 August 2010.
PHPDeveloper

On the ThinkPHP blog there's a recent post looking at writing a query logger in PHP as a mysqlnd plugin using the mysqlnd_uh extension.

A new approach to implementing a query logger and potentially more complex features such as monitoring or read/write-splitting is the MySQLnd Userland Handler Extension (mysqlnd_uh, pecl website). The extension lets you register a PHP class as a proxy for every MySQLnd connection. Every call to a function to MySQLnd (usually indirect through mysqli, mysql, pdo_mysql) is passed to the PHP class, which then calls the original MySQLnd function.

They give a simple example to start - a logging function and how to configure it - followed by a more real-world scenario of logging inside of a project plugin.