请输入您要查询的百科知识:

 

词条 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条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。

 

Copyright © 2004-2023 Cnenc.net All Rights Reserved
更新时间:2025/2/7 19:33:07