PHP的MySQL本地驱动程序(mysqlnd)是MySQL客户端库的临时替代品吗(libmysql)用于PHP脚本语言。
PHP MySQL扩展
PHP MySQL扩展是C客户端库之上的轻量级包装器。有3个PHP MySQL扩展:
建议使用mysqli或PDO_MySQL扩展名。不建议使用旧的mysql扩展进行新的开发。
选择一个图书馆
扩展可以使用mysqlnd或libmysql库从PHP连接到MySQL。选择一个或另一个库是编译时的决定。这两个库都得到了支持,并不断得到改进。
MySQL建议使用MySQL本地驱动程序PHP (mysqlnd)和ext/mysqli或PDO_MySQL。
下载源代码和二进制文件
所有3个PHP MySQL扩展和mysqlnd库都是PHP源代码的一部分。源代码和二进制文件可以从:http://php.net/10bet手机中文版downloads.php
PHP 5.4默认使用mysqlnd
从PHP 5.4开始,mysqlnd库是PHP .net编译时默认的MySQL扩展。另外,自从mysqlnd在PHP 5.3中可用以来,PHP Windows团队正在使用mysqlnd作为官方的PHP Windows发行版。
使用mysqlnd的优点
mysqlnd库是高度优化的,并紧密集成到PHP中。MySQL客户端库不能提供同样的优化,因为它是一个通用的客户端库。
mysqlnd库使用PHP内部的C基础设施无缝集成到PHP中。此外,它使用PHP内存管理,PHP流(I/O抽象)和PHP字符串处理例程。mysqlnd使用PHP内存管理,例如,通过使用只读变量(写时复制)节省内存,并使mysqlnd适用于PHP内存限制。额外的优势包括:
- 强大的插件API扩展功能集
- 异步非阻塞查询
- 150 +性能统计数据
- 与PHP 5.3及更高版本的源代码一起提供
- 不需要安装MySQL客户端库
- 强大的插件。见下文。
Mysqlnd插件
范围广泛的mysqlnd插件,提供额外的功能可以从PECL。流行的mysqlnd插件包括:
- mysqlnd_ms负载均衡插件
- 查询结果缓存插件mysqlnd_qc
- 用户处理插件(用PHP而不是C编写插件)- mysqlnd_uh
- 连接多路复用插件
- Mysqlnd Memcache插件
- 多连接插件- mysqlnd_mc
- 准备好的语句句柄缓存插件- PECL/mysqlnd_pscache
- SQL注入保护插件