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
轉載于:https://www.cnblogs.com/franjia/p/4384338.html
總結
以上是生活随笔為你收集整理的php5.5.* mysqlnd驱动安装的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: rp2836 网卡以及串口与接插件位置关
- 下一篇: Android线程机制——AsyncTa