A friend downloaded the php5.3,php5.4 version to load MySQL support when found no Libmysql.dll file, unable to complete the MySQL configuration, in fact, PHP5.3 version, using the MYSQLND library, no longer use Libmysql.dll to access the MySQL database, greatly mention The database access performance of PHP has been upgraded. MySQL is supported by default and does not need to be copied manually to the Windows/system32 directory like Libmysql.dll.
The previous version of PHP access to the MySQL database, is through the MySQL database Libmysql client library, the Libmysql client is written in C/s + +, although PHP has always been a libmysql access to the database performance has been very good, But you can't take advantage of the many features of PHP itself.
The new Mysqlnd provides high integration with the Zend engine, faster execution speed, less memory consumption, leverages the PHP stream API, and the customer segment caching mechanism. Since the MYSQLND is through the Zend engine, it provides more advanced features, as well as the efficient use of Zend for acceleration, the schematic diagram is as follows:
As can be seen, Libmysql is directly accessing the database, while MYSQLND is accessing the database through Zend.
The above, excerpted from http://www.51itz.com/?p=467, is a good explanation for PHP5.3 without Libmysql.dll, which is also described in the PHP manual.
The following are the problems, especially for beginners.
1. When reading some outdated PHP tutorials, Will refer to the Libmysql.dll file, or even mention to copy the file and Php5ts.dll to the Windows system32 directory, so the novice at this time found that the download PHP5.3 package does not have libmysql.dll files, so very confused. In fact, PHP is intentionally to remove the Libmysql.dll file, because it provides a better alternative, is the embedded PHP module "Mysqlnd", but also because "Mysqlnd" is embedded, so there is no need for redundant libmysql.dll-like files. At the same time, this has no effect on the use of MySQL, Mysqli, PDO, as this is only an update to the way MySQL is interacting at the bottom, and the PHP programmer does not have to control it, the original or the same.
2. When configuring PHP.ini's Extension_dir option in Windows, make sure it is available and then test for the usefulness of an extension. This is the order of things, not technical problems. I have wasted a lot of debugging time by using relative paths rather than absolute paths! The PHP manual mentions that this option can be used relative to the path or absolute path, and I found that only the absolute path under Windows, this must be noted!
3. From the "MySQL Connectors" section of the MySQL website http://www.mysql.com/downloads/, MySQL provides communication interfaces for C + +, Java,. Net, C, ODBC, etc. And the interface to C is libmysql.dll, it can be used in PHP, because PHP is written in C. It is also known that Libmysql.dll is a generic C interface module, not only for PHP. PHP's own MYSQLND module is proprietary to PHP and is compliant with its own release protocol.
PHP5.3 the above version does not have Libmysql.dll, and this brings the disturbance