安裝

mysqli擴(kuò)展在PHP5.0.0中被引入。Mysql Native驅(qū)動在PHP5.3.0版本中被引入。

在linux上安裝

通用的Unix分發(fā)包中會包含PHP可安裝的二進(jìn)制版本。雖然這些二進(jìn)制版本通常會被構(gòu)建為支持啟用mysql擴(kuò)展的, 蠶食擴(kuò)展庫自身可能需要依賴其他附加包的安裝。因此對包管理的檢查會比選擇可用的發(fā)行版本更重要。

除非你的Unix分發(fā)包包含的PHP二進(jìn)制包的mysqli擴(kuò)展可用,否則你就需要 從源碼構(gòu)建PHP。如果你希望使用mysql擴(kuò)展,從PHP源代碼構(gòu)建允許你這樣做,并且可以指定每個擴(kuò)展 使用什么客戶端庫。

使用Mysql Native Driver 是推薦的選項(xiàng),會提升性能并且會帶來一些Mysql Client Library不允許的訪問特性。 什么是Mysql自然驅(qū)動器?中對Mysql Native Driver 的優(yōu)勢做了一個簡要概述。

/path/to/mysql_config代表了要用來編譯mysql客戶端/連接mysql服務(wù)端的mysql_config程序位置。

mysqli 編譯時支持表
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這個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系統(tǒng)安裝

在windows上,PHP通常使用二進(jìn)制安裝包進(jìn)行安裝。

PHP 5.0, 5.1, 5.2

當(dāng)PHP安裝后,如果期望使用則可以通過一些配置來開啟mysqli并指定客戶端庫。

mysqli擴(kuò)展默認(rèn)并不會開啟,因此php.iniphp_mysqli.dll這個DLL 必須開啟。為此你需要找到php.ini文件(通常在c:\php),并且你需要確認(rèn)刪除了 [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)目錄默認(rèn)就在系統(tǒng)的PATH環(huán)境變量下。然而,我們強(qiáng)烈反對這種做法。

就像開啟任何PHP擴(kuò)展(比如php_mysqli.dll),PHP指令 extension_dir可以被設(shè)置為PHP擴(kuò)展位置的目錄路徑。 查看windows安裝介紹手冊。關(guān)于此的一個例子是PHP 5中 extension_dir指令的值是c:\php\ext

注意:

如果啟動web服務(wù)器的時候發(fā)生了類似下面這樣的錯誤"Unable to load dynamic library './php_mysqli.dll'", 這就是因?yàn)樵谙到y(tǒng)中無法找到php_mysqli.dll或者libmysql.dll。

PHP 5.3.0+

在windows上,對于PHP 5.3或更新版本,mysqli擴(kuò)展默認(rèn)開啟并使用Mysql Native Driver。 這就是說你不需要擔(dān)心關(guān)于訪問libmysql.dll的配置。