doc:todo:mysqlnd_vs_libmysql

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
doc:todo:mysqlnd_vs_libmysql [2009/10/23 14:01] – log_mask uwdoc:todo:mysqlnd_vs_libmysql [2017/09/22 13:28] (current) – external edit 127.0.0.1
Line 11: Line 11:
 mysqlnd is part of the PHP source code as of PHP 5.3. Therefore users do not need to install any MySQL libraries on their PHP build host. mysqlnd is part of the PHP source code as of PHP 5.3. Therefore users do not need to install any MySQL libraries on their PHP build host.
  
 +Windows builds downloaded from php.net use mysqlnd as their default MySQL client library as of PHP 5.3. With PHP 5.4 the default library used with mysql, mysqli and PDO_MySQL is mysqlnd on all platforms. Using the MySQL Client Library (AKA libmysql) is still supported. There are no plans to remove libmysql support.
 +
 +
 +==== Major features added after PHP 5.3.0 ====
 +
 +  * Compression is supported since PHP 5.3.1. The MySQL compressed client/server protocol. See also, http://bugs.php.net/bug.php?id=47017
 +  * SSL is supported since PHP 5.3.3.  See also, http://bugs.php.net/bug.php?id=49234
 +  * Named pipe support available as of PHP 5.3.4
 +
 +==== Feature and extension dependencies ====
 +
 +Mysqlnd is tightly integrated into PHP. It is using PHP infrastructure, for example, PHP Streams. Some mysqlnd features depend on other PHP extensions:
 +
 +  * Compression: requires Zlib extension, http://www.php.net/manual/en/zlib.installation.php
 +  * SSL: requires OpenSSL extension, http://www.php.net/manual/en/openssl.installation.php
 +
 +
 +Please make sure that you are using a PHP build with Zlib and OpenSSL support when switching from libmysql to mysqlnd. This will ensure that mysqlnd offers the same functionality as libmysql does.
 ==== Major feature differences ==== ==== Major feature differences ====
  
 **mysqlnd does not support:** **mysqlnd does not support:**
  
-  * The MySQL compressed client/server protocol. The implementation is done to 90% by Andrey - we need to test it. See also, http://bugs.php.net/bug.php?id=47017 
-  * SSL . Although it is on the TODO list at MySQL there is no schedule for it yet. See also, http://bugs.php.net/bug.php?id=49234 
-  * mysqlnd uses PHP Streams for networking: 
-    * no named pipes on Windows 
   * mysqlnd will not read my.cnf server configuration files   * mysqlnd will not read my.cnf server configuration files
  
Line 25: Line 39:
   * asynchronous queries   * asynchronous queries
   * 100+ statistics   * 100+ statistics
 +  * security: mysqlnd can inspect LOAD LOCAL INFILE and check open_basedir setting, libmysql won't care about open_basedir. libmysql allows accessing files which other PHP functions cannot access, if open_basedir is set
  
 **in general** **in general**
Line 44: Line 59:
     * note - records everything from all extensions using mysqlnd     * note - records everything from all extensions using mysqlnd
     * note (general, not mysqlnd specific): flag "O" vs. "o" - flush after every [disk] write yes/no -> performance     * note (general, not mysqlnd specific): flag "O" vs. "o" - flush after every [disk] write yes/no -> performance
 +    * note - only available with a debug build of PHP
  
   * mysqlnd.net_read_timeout   * mysqlnd.net_read_timeout
 +    * type: integer
 +    * default: 31536000
 +    * changeable: PHP_INI_SYSTEM
 +    * changelog:      Available since 5.3.0
     * see http://bugs.php.net/bug.php?id=49511     * see http://bugs.php.net/bug.php?id=49511
  
doc/todo/mysqlnd_vs_libmysql.1256306494.txt.gz · Last modified: 2017/09/22 13:28 (external edit)