Developing a pure PHP driver for MySQL
Talking to the PHP community members, I see a recurring theme:
How does MySQL integrate with PHP — both from a technical and from a licensing perspective?
MySQL provides several ways to integrate between PHP and MySQL, most notably the ext/mysql and ext/mysqli drivers for PHP. These rely on the GPL licensed libmysql library, which by its nature is not compatible with the PHP license. With our not-so-optimally-named “FOSS Exception” , we have extended the rights of our community to use MySQL together with a number of non-GPL FOSS licenses, including the PHP license. This solution works well for many in the PHP community.
But we want to do more:
We plan to develop a pure PHP driver for MySQL, to be licensed under the PHP license itself and donated to the PHP Group for inclusion into PHP6.
We hope this will remove any and all licensing issues that the PHP community might otherwise have with MySQL.
Besides resolving licensing issues, we want the new pure PHP driver to technically integrate better with MySQL:
- we intend to add support for client-side query caching in the PHP driver for MySQL, probably already to MySQL 5.1 Community Server
- we intend to add support for a Prepared Statements cache to the PHP driver for MySQL, also implemented on the MySQL Server
We believe both of these will bring added technical value to users of PHP6. Tentatively, we should be able to deliver this in stages starting Q1 of 2007, in time for the preview release of PHP6.
We are still working out the details of this. Expect to see more specifics soon after the PHP conference in Frankfurt early November. Once we have worked out the details, I look forward to this initiative turning into a commitment from our side, and delivering results in the form of a more community-friendly, pure PHP driver for MySQL!


October 26th, 2006 at 0:09
[...] So eben gab Kaj Arnö in seinem Blog bekannt, daß MySQL im März 2007 eine neue Library unter der PHP License veröffentlichen wird. [...]
November 13th, 2006 at 13:23
[...] Es ist nicht lange her, daß Kaj den Plan verkündet hat, einen neuen nativen MySQL Treiber für PHP zu entwickeln. Der neue Treiber wird unter die PHP Lizenz gestellt werden. PHP intern ersetzt der neue Treiber die libmysql. [...]
November 13th, 2006 at 21:56
[...] Announcement: http://www.planetmysql.org/kaj/?p=69 Mini-FAQ: http://www.planetmysql.org/kaj/?p=71 [...]
February 2nd, 2007 at 13:35
[...] we are proud to announce the first alpha version of the MySQL native driver for PHP: mysqlnd 5.0.0-alpha. The software is available for download on http://dev.mysql.com/downloads/connector/php-mysqlnd. [...]
February 18th, 2007 at 15:57
[...] Dieses Problem beruht auf der zugrunde liegenden C API, betrifft also nicht nur PHP. Es gibt aber Bemühungen diesen Misstand in PHP6 zu beseitigen. [...]
September 25th, 2008 at 12:04
[...] Kaj’s announcement of the MySQL native driver for PHP (mysqlnd), we promised to to patch all three PHP MySQL [...]
February 20th, 2009 at 18:53
[...] Kaj’s announcement of the MySQL native driver for PHP (mysqlnd), we promised to to patch all three PHP MySQL [...]