php5.5.* mysqlnd驱动安装

1.什么是mysqlnd驱动?

PHP手册上的描述:

MySQL Native Driver is a replacement for the MySQL Client Library (libmysql).

MySQL Native Driver is part of the official PHP sources as of PHP 5.3.0.

mysqldnd即mysql native driver简写,即是由PHP源码提供的mysql驱动连接代码.它的目的是代替旧的libmysql驱动.

传统的安装php的方式中,我们在编译PHP时,一般需要指定以下几项:
--with-mysql=/usr/local/mysql

--with-pdo-mysql=/usr/local/mysql

这实际上就是使用了mysql官方自带的libmysql驱动, 这是比较老的驱动, PHP 5.3开始已经不建议使用它了, 而建议使用mysqlnd.

2. PDO与mysqlnd, libmysql又是何种关系?
PDO是一个应用层抽象类,底层和mysql server连接交互需要mysql驱动的支持. 也就是说无论你使用了何种驱动,都可以使用PDO.

PDO是提供了PHP应用程序层API接口,而mysqlnd, libmysql则负责与mysql server进行网络协议交互(它并不提供php应用程序层API功能)

3. 为何要使用mysqlnd驱动?
PHP官方手册描述:
A.libmysql驱动是由mysql AB公司(现在是oracle公司)编写, 并按mysql license许可协议发布,所以在PHP中默认是被禁用的.

而mysqlnd是由php官方开发的驱动,以php license许可协议发布,故就规避了许可协议和版权的问题

B.因为mysqlnd内置于PHP源代码,故你在编译安装php时就不需要预先安装mysql server也可以提供mysql client API (mysql_connect, pdo , mysqli), 这将减化一些工作量.

C. mysqlnd是专门为php优化编写的驱动,它使用了PHP本身的特性,在内存管理,性能上比libmysql更有优势. php官方的测试是:libmysql将每条记录在内存中保存了两份,而mysqlnd只保存了一份

D. 一些新的或增强的功能
增强的持久连接
引入特有的函数mysqli_fetch_all()

引入一些性能统计函数mysqli_get_cache_stats(), mysqli_get_client_stats(),

mysqli_get_connection_stats(),

使用上述函数,可很容易分析mysql查询的性能瓶颈!

SSL支持(从php 5.3.3开始有效)

压缩协议支持

命名管道支持(php 5.4.0开始有效)

4. 看到这里,你可能跃跃欲试,很想使用mysqlnd驱动, 本节描述如何使用mysqlnd驱动
提示: 如果使用mysqlnd,并不需要预先安装mysql

编译php时,修改以下几个项参数即可
--with-mysql=mysqlnd \

--with-mysqli=mysqlnd \

--with-pdo-mysql=mysqlnd

验证:如果在phpinfo输出的mysql项中发现 client API Version  : mysqlnd, 说明mysqlnd驱动安装成功.

另外,附一个可用于生产环境的php的编译参数列表
./configure --prefix=/usr/local/php \

--with-mysql=mysqlnd \

--with-mysqli=mysqlnd \

--with-pdo-mysql=mysqlnd

--with-iconv-dir \

--with-freetype-dir \

--with-jpeg-dir \

--with-png-dir \

--with-zlib \

--with-libxml-dir \

--enable-xml \

--disable-rpath \

--enable-bcmath \

--enable-shmop \

--enable-sysvsem \

--enable-inline-optimization \

--with-curl \

--with-mcrypt \

--with-curlwrappers \

--enable-mbregex \

--enable-fpm \

--enable-mbstring \

--with-gd \

--enable-gd-native-ttf \

--with-openssl \

--with-mhash \

--enable-pcntl \

--enable-sockets \

--with-xmlrpc \

--enable-zip \

--enable-soap \

--without-pear

时间: 2024-08-29 00:54:42

php5.5.* mysqlnd驱动安装的相关文章

LAMP——httpd 2.4.20 + mysql-5.6.26 + php-5.6.22编译安装过程

httpd 2.4.20 + mysql-5.6.26 + php-5.6.22编译安装过程: 资源准备 系统:centos6.5 PHP:wget http://docs.php.net/distributions/php-5.6.22.tar.gz MySQL:wget http://cdn.mysql.com/archives/mysql-5.6/mysql-5.6.26.tar.gz APACHE:wget http://mirrors.noc.im/apache//httpd/http

php5.3 fastcgi方式 安装以及和nginx整合

php5.3 fastcgi方式 安装以及和nginx整合 注意:不要随便改变基础库的版本,否则会对别的软件产生编译错误 1.基础依赖包安装: cd /software/zlib-1.2.3./configuremakemake install cd /software/libxml2-2.6.30./configure --prefix=/usr/local/libxml2/make make install  cd /software/libmcrypt-2.5.8./configure -

HP LaserJet P1007 驱动安装成功,但无法打印的原因

HP LaserJet P1007 打印机驱动安装成功,但是无法打印相关文档的原因是: 打印机是水货,惠普中国提供的驱动和该打印机不符合.显示的应该是HP LaserJet Professional P1007,而且还要安装EWS驱动,所以安装国内的驱动是无法正确支持的.应该安装HP LaserJet Professional P1007的驱动才能正常打印.驱动保存在百度云中,以作备份.

关于FL2440开发板USB驱动安装 成功用于WIN7 64位

前几天,在飞凌淘宝官店购置了一块FL2440开发板进行学习,购置时没有留意FL2440的USB驱动不支持win7 64位. 在到货后进行测试才发现其USB驱动不支持win7驱动,为了能使用这个DNW,我在VirtualBox下安装了xp虚拟机,但是在安装驱动时无法从虚拟机中加载设置进行驱动安装. 我便上网寻找支持64位USB下载驱动,发现网上有一个驱动可安装USB驱动"Supervivi USB Transfer Tool" 在按照安装驱动教程使用成功安装驱动,使用了这个驱动后便能在V

U转串口驱动安装

在装有Win7 32位系统的台式机上 先卸载旧驱动,再重新安装. 对设备管理器里的U转串口设备从本地更新驱动,选择下图文件 系统弹出红色提示框(是否安装XXXX驱动),选择安装,随后该设备由无法启动变为工作正常. 在Win8 64位系统上 安装驱动后,出现下图情况,设备无法启动(错误代码10) 选择08年的驱动后,串口恢复正常. 总结 这些驱动有很多不兼容的,特别是在高级Windows版本或64位系统上,解决的思路就是多尝试安装各种版本,并根据串口状态调整安装策略. U转串口驱动安装,布布扣,b

CentOS中Intel i350T4驱动安装

2015.3.31 在linux*中直接按解决方法中安装i350驱动即可 *****************************************************************************************************************出现问题: centos6.5(开发版)下安装Intel i350驱动后,驱动无法加载,详情: lspci可以正常看到网卡信息 dmesg后发现提示:The NVM Checksum Is Not V

驱动安装必备知识

硬件主导安装: 硬件主导的设备安装,是指在安装程序尚未运行,系统尚无设备驱动信息的情况下,用户将设备连接到电脑上,这将导致“硬件主导”的设备安装方式.每当有新设备连接到系统中,系统PNP管理器都会尝试为设备寻找合适的驱动程序,如果能够找到,将尽可能地采用服务器端方式,悄无声息地为设备将驱动安装完毕.否则,将提示用户进行驱动安装指导. 软件主导安装: 软件主导的安装方式,是软件安装先于设备接入.般来说,安装软件在运行之初,需要做一件事:判断当前系统中,PNP管理器是否正在为另一个设备安装忙碌中,如

Ralink RT3290无线网卡驱动安装 (linux)

Ralink RT3290无线网卡驱动安装 (linux, 笔记备忘) 1. 设备信息查看无线网卡设备信息 1 # lspci 2 02:00.0 Network controller: Ralink corp. Device 3290 2. 驱动下载http://pan.baidu.com/s/1sjsHNgp 3. 解压,修改,编译,安装(1) 编辑解压后的 DPO_RT3290_LinuxSTA_V2600_20120508/os/linux/目录中的 config.mkHAS_NATIV

RHEL7.3 NVIDIA显卡驱动安装

RHEL7.3 NVIDIA显卡驱动安装 1.问题现象 安装RHEL7.3后频繁死机,空闲时频繁死机重启.经查证,为RHEL7.3内核中公版显卡驱动与显卡不兼容,造成XWindow频繁崩溃. 2.显卡设备型号查看 lspci | grep VGA NVIDIA Corporation GK208 [GeForce GT 730] 3.显卡驱动下载 NVDIA官方下载相应显卡型号GeForce GT 730的驱动: 选择 GeForce GT700 系列,GeForce GT 730,Linux