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