mysqli
擴(kuò)展在PHP5.0.0中被引入。Mysql Native驅(qū)動(dòng)在PHP5.3.0版本中被引入。
通用的Unix分發(fā)包中會(huì)包含PHP可安裝的二進(jìn)制版本。雖然這些二進(jìn)制版本通常會(huì)被構(gòu)建為支持啟用mysql擴(kuò)展的, 蠶食擴(kuò)展庫自身可能需要依賴其他附加包的安裝。因此對包管理的檢查會(huì)比選擇可用的發(fā)行版本更重要。
除非你的Unix分發(fā)包包含的PHP二進(jìn)制包的mysqli
擴(kuò)展可用,否則你就需要
從源碼構(gòu)建PHP。如果你希望使用mysql擴(kuò)展,從PHP源代碼構(gòu)建允許你這樣做,并且可以指定每個(gè)擴(kuò)展
使用什么客戶端庫。
使用Mysql Native Driver 是推薦的選項(xiàng),會(huì)提升性能并且會(huì)帶來一些Mysql Client Library不允許的訪問特性。 什么是Mysql自然驅(qū)動(dòng)器?中對Mysql Native Driver 的優(yōu)勢做了一個(gè)簡要概述。
/path/to/mysql_config
代表了要用來編譯mysql客戶端/連接mysql服務(wù)端的mysql_config
程序位置。
PHP 版本 | 默認(rèn) | 配置選項(xiàng): mysqlnd | 配置選項(xiàng): libmysql |
更新日志 |
---|---|---|---|---|
5.0.x, 5.1.x, 5.2.x | libmysql | 不適用 | --with-mysqli=/path/to/mysql_config | |
5.3.x | libmysql | --with-mysqli=mysqlnd | --with-mysqli=/path/to/mysql_config | mysqlnd is now supported |
5.4.x | mysqlnd | --with-mysqli | --with-mysqli=/path/to/mysql_config | mysqlnd is now the default |
請注意Mysql擴(kuò)展和客戶端庫是可以自由混合的。比如,可以使用libmysql這個(gè)mysql客戶端庫來啟用Mysql擴(kuò)展,使用
Mysql Native Driver來配置mysqli
擴(kuò)展。所有的擴(kuò)展和客戶端庫的順序都是可能的。
下面的示例使用Mysql Client Library(libmysql)構(gòu)建了mysql擴(kuò)展,并且mysqli
和
PDO Mysql擴(kuò)展使用Mysql Native Dirver(作為客戶端庫):
./configure --with-mysql=/usr/bin/mysql_config \ --with-mysqli=mysqlnd \ --with-pdo-mysql=mysqlnd [other options]
在windows上,PHP通常使用二進(jìn)制安裝包進(jìn)行安裝。
當(dāng)PHP安裝后,如果期望使用則可以通過一些配置來開啟mysqli
并指定客戶端庫。
mysqli
擴(kuò)展默認(rèn)并不會(huì)開啟,因此php.ini中php_mysqli.dll這個(gè)DLL
必須開啟。為此你需要找到php.ini文件(通常在c:\php),并且你需要確認(rèn)刪除了
[PHP_MYSQLI]
部分中的extension=php_mysqli.dll
一行行首的注釋符號(分號)。
另外,如果你希望使用Mysql client library(libmysql)作為mysqli
的驅(qū)動(dòng)器,你需要確保PHP可以訪問
客戶端庫的文件。Mysql Client Library作為文件libmysql.dll包含在windows的PHP分發(fā)包中。
這個(gè)文件需要在windows系統(tǒng)的PATH環(huán)境變量中才可以被成功加載。查看FAQ文檔
怎樣增加我的PHP目錄到Windows的PATH中了解怎樣配置環(huán)境變量PATH。
把libmysql.dll拷貝到Windows的系統(tǒng)目錄(通常是c:\Windows\system)也是適用的,
通常系統(tǒng)目錄默認(rèn)就在系統(tǒng)的PATH環(huán)境變量下。然而,我們強(qiáng)烈反對這種做法。
就像開啟任何PHP擴(kuò)展(比如php_mysqli.dll),PHP指令
extension_dir可以被設(shè)置為PHP擴(kuò)展位置的目錄路徑。
查看windows安裝介紹手冊。關(guān)于此的一個(gè)例子是PHP 5中
extension_dir
指令的值是c:\php\ext。
注意:
如果啟動(dòng)web服務(wù)器的時(shí)候發(fā)生了類似下面這樣的錯(cuò)誤
"Unable to load dynamic library './php_mysqli.dll'"
, 這就是因?yàn)樵谙到y(tǒng)中無法找到php_mysqli.dll或者libmysql.dll。
在windows上,對于PHP 5.3或更新版本,mysqli
擴(kuò)展默認(rèn)開啟并使用Mysql Native Driver。
這就是說你不需要擔(dān)心關(guān)于訪問libmysql.dll的配置。