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