您正在使用其中一個(gè)備用存儲(chǔ)庫(kù)安裝現(xiàn)代版本的php,突然間您遇到了一個(gè)令人困惑的選擇。你想在php程序中支持MySQL(mysqli或PDO-mysql)。你會(huì)怎么選擇?
首先,您可能應(yīng)該使用PDO。與mysqli相比,它只是一個(gè)更干凈的數(shù)據(jù)庫(kù)界面,如果你使用像Doctrine2這樣的ORM,它也往往是支持的選項(xiàng)。
但是你可能已經(jīng)發(fā)現(xiàn)安裝PDO軟件包并不能讓你支持MySQL。
那么這2個(gè)套餐是什么?一旦我們將webtatic設(shè)置為回購(gòu),那么讓我們看看Centos下的yum向我們展示了什么:
創(chuàng)新互聯(lián)為客戶提供專業(yè)的做網(wǎng)站、網(wǎng)站設(shè)計(jì)、程序、域名、空間一條龍服務(wù),提供基于WEB的系統(tǒng)開(kāi)發(fā). 服務(wù)項(xiàng)目涵蓋了網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站程序開(kāi)發(fā)、WEB系統(tǒng)開(kāi)發(fā)、微信二次開(kāi)發(fā)、手機(jī)網(wǎng)站開(kāi)發(fā)等網(wǎng)站方面業(yè)務(wù)。
*
webtatic:us-east.repo.webtatic.com
====================================== ========
php56w-mysql.x86_64:
用于
使用MySQL數(shù)據(jù)庫(kù)
的
PHP應(yīng)用程序
的模塊php56w-mysqlnd.x86_64:
用于
使用MySQL數(shù)據(jù)庫(kù)的PHP應(yīng)用程序的模塊
簡(jiǎn)而言之,mysql擴(kuò)展即mysql庫(kù)是引用Oracle / mysql
...通用客戶端庫(kù)
名為libmysql。
這是支持mysql的原始php方法。MySQL提供了一個(gè)客戶端api庫(kù),并使用該c庫(kù),創(chuàng)建了一個(gè)php擴(kuò)展,它依賴于libmysql實(shí)現(xiàn)著名的mysql_函數(shù),允許php與mysql通信。
mysqlnd包(其中nd代表“本機(jī)驅(qū)動(dòng)程序”)是一個(gè)項(xiàng)目的成果,它使mysql在php語(yǔ)言中最佳地工作。再次引用mysql網(wǎng)站:
mysqlnd庫(kù)經(jīng)過(guò)高度優(yōu)化,可以與PHP緊密集成。MySQL客戶端庫(kù)無(wú)法提供相同的優(yōu)化,因?yàn)樗且粋€(gè)通用的客戶端庫(kù)。
mysqlnd庫(kù)使用PHP內(nèi)部C基礎(chǔ)架構(gòu)無(wú)縫集成到PHP中。此外,它還使用PHP內(nèi)存管理,PHP Streams(I / O抽象)和PHP字符串處理例程。例如,mysqlnd使用PHP內(nèi)存管理可以通過(guò)使用只讀變量(寫入時(shí)復(fù)制)來(lái)節(jié)省內(nèi)存,并使mysqlnd適用于PHP內(nèi)存限制。
除了這些好處之外,還有一些有趣的增強(qiáng)功能和對(duì)插件的支持,這些插件可能是您作為開(kāi)發(fā)人員或系統(tǒng)管理員特別感興趣的。
一般情況下,你的代碼不應(yīng)該破壞,因?yàn)閍pi在mysqlnd下應(yīng)該和舊的mysql庫(kù)一樣。
結(jié)論
總之,您希望現(xiàn)在和將來(lái)使用 mysqlnd 。