词条 | mysqlnd |
释义 | MySQL也为PHP6专门设计了一个native driver,称为mysqlnd,这是一个采用PHP开源协议(即 PHP license)的MySQL数据库驱动,避免了任何可能存在的版权问题,所以PHP开发者可以放心大胆地使用。 由于版权问题,PHP5中没有默认支持MySQL,不像以前的PHP4那样可以直接使用MySQL函数。Mysql支持还需要把libmysql.dll复制到windows目录,然后修改php.ini等等,比较麻烦。 它是新的函数库,libmysql有的功能它几乎都有,但是mysqlnd并不像libmysql那样作为通用库,它是专门为PHP而写的一个库,用了PHP的内在管理函数以及一些网络流的函数。 PHP最近发布了5.3版本,在该版本当中,提供了一个mysqlnd库,用来访问MySQL数据库,大大提升了PHP的数据库访问性能。 我们知道,PHP访问MySQL数据库,是通过MySQL数据库的libmysql client库,这个libmysql client是用C/C++编写的,虽然一直以来PHP通过libmysql访问数据库性能也一直很好,但是却无法利用PHP本身的很多特性。 mysqlnd提供了和Zend引擎高度的集成性,更加快速的执行速度,更少的内存消耗,利用了PHP的Stream API,以及客户段缓存机制。由于mysqlnd是透过Zend引擎,因此提供提供更多高级特性,以及有效利用Zend进行加速。 从下图可以看出来,libmysql是直接访问数据库的,而mysqlnd是通过Zend访问数据库。 MySQLnd成为php 5.3中的默认mysql驱动,它有如下优点: 1、mysqlnd更容易编译; 因为它是php源码树的一个组成部分 2、mysqlnd和php内部机制结合更紧密,是优化过的mysql驱动 3、mysqlnd更节省内存,从测试结果来看,比传统的mysql扩展节省40%的内存 4、mysqlnd更快 5、mysqlnd提供了丰富的性能统计功能 6、mysqlnd使用了PHP license以避免不必要的版权纠纷 这个改动应同时对mysqli和pdo_mysql扩展生效。 编译方法: cd php-5.3.x ./configure --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd 加上你的参数 make make install phpinfo()截图 |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。