php7編譯安裝和安裝參數最全詳解


php7編譯安裝和安裝參數詳解

簡介

PHP(“PHP: Hypertext Preprocessor”,超文本預處理器的字母縮寫)是一種被廣泛應用的開放源代碼的多用途腳本語言,它可嵌入到 HTML中,尤其適合 web 開發。

下載

官網地址:http://php.net/downloads.php

$ cd ~
$ wget http://cn2.php.net/distributions/php-7.2.12.tar.gz

解壓

$ tar zxvf php-7.2.12.tar.gz

編譯環境

請檢查是否安裝了gcc ,沒有的話執行 yum install gcc

檢查是否安裝了libxml2 ,沒有的話執行 yum install libxml2

檢查是否安裝了libxml2-devel,沒有的話執行 yum install libxml2-devel

編譯安裝參數查看

$ cd php-7.2.12
$ ./configure --help //查看所有編譯參數

根據所需配置參數並編譯安裝

關於php源碼包自帶的模塊

$ ls ./ext

 

php模塊和配置參數配置詳解

 1、bcmath 擴展(默認未啟用)

−−enable-bcmath

說明:bcmath 擴展提供了一套bc(Binary Calculator)數學函數,它是一個高精度運算的函數庫,可以准確地對任意精度的數字進行運算。

對於十進制的浮點數,計算機底層無法准確用二進制進行存儲,也就是說,計算機用二進制存儲浮點數時,可能出現精度丟失的問題。

當我們用常規的方式(加減乘除、冪運算、求平方根)對浮點數進行運算時,就可能出現計算結果不准確的問題。這種精度計算的問題是計算機底層的一個bug,是跨語言的。

 例如:

<?php
$f = 0.58;    
var_dump($f * 100);
var_dump(round($f * 100));
var_dump(intval($f * 100));
var_dump($f * 100==58);
var_dump(round($f * 100)==58);
var_dump(intval($f * 100)==58);
 
// 輸出:float(58) float(58) int(57) bool(false) bool(true) bool(false)

可以發現,0.58*100的結果並不等於58,只是近似58而已。因為,浮點數0.58在計算機中無法准確存儲,計算機中實際存儲的值是0.5799999999999999999,它只能無限接近於0.58。

<?php
var_dump(0.1+0.2 == 0.3);
 
// 輸出:bool(false)
<?php
$a = 0.1+0.2;
printf('%.18f', $a);
echo '<br/>';
 
$b = 0.3;
printf('%.18f', $b);
echo '<br/>';
 
var_dump($a==$b);
 
// 輸出結果如下:
0.300000000000000044
0.299999999999999989
bool(false)

問題在於:看似有窮的浮點數,在計算機的二進制表示中卻是無窮的。

為此,大部分語言都提供了精准計算的類庫或函數庫,比如php有BC高精度運算函數庫。

注意: 在對浮點數進行運算或比較時,推薦使用bc數學函數。

安裝:BC數學函數僅在 PHP 編譯時配置了 --enable-bcmath 時可用。

PHP 的 Windows 版本已內建對此擴展的支持。

PHP 的 Linux 版本,則需要手動安裝bcmath擴展。

在PHP的源碼包中,默認就包含bcmath擴展的安裝文件,只需手動安裝一下即可。

cd ./ext/bcmath 
// 進入PHP的源碼包目錄中的bcmatch擴展目錄
 
/opt/runtime/php/bin/phpize
// 執行phpize命令
 
./configure --with-php-config=/opt/runtime/php/bin/php-config
// 配置
 
make && make install 
// 編譯和安裝

安裝完成后,可以得到bcmath.so文件,將該文件拷貝至php的擴展存放目錄。

然后,修改php的配置文件php.ini,加入如下的代碼:

extension=bcmath.so

最后,重啟php服務即可。

常用的 bc 數學函數 自行搜索。

2、Bzip2(默認未啟用)

−−with-bz2=DIR

說明:用於透明地讀寫 bzip2(.bz2)壓縮文件。 

安裝:PHP 的 Bzip2 支持默認未打開。編譯 PHP 時需要 --with-bz2[=DIR] 配置選項來激活 bzip2 支持。

Debian/Ubuntu 需安裝 libbz2-dev 依賴包。

Redhat/CentOS 需安裝 bzip2-devel 依賴包。

具體使用說明:http://php.net/manual/zh/book.bzip2.php

3、Calendar(默認未啟用)

−−enable-calendar

說明:歷法擴展集包括了一系列用於在不同歷法間進行轉換的函數,它是以Julian Day計數為中介或標准來進行的。

安裝:要使用本類函數,需要在編譯 PHP 時加上 --enable-calendar 。

PHP 的 Windows 版本已內建對此擴展的支持。不需要載入額外的擴展來使用這些函數。

具體使用說明:http://php.net/manual/zh/book.calendar.php

4、COM and .Net(默認未啟用)

說明:Windows 專用擴展。COM 是指 Component Object Model,組件對象模型,是多項微軟技術與框架的基礎,包括OLE、OLE自動化、ActiveX、COM+、DCOM、Windows shell、DirectX、Windows Runtime。

安裝:從PHP 5.3.15 / 5.4.5開始,此擴展需要 在php.ini啟用php_com_dotnet.dll才能使用這些功能。以前版本的PHP默認啟用這些擴展。 

具體使用說明:http://php.net/manual/zh/book.com.php

5、ctype(默認啟用)

−−disable-ctype

說明:該擴展所提供的函數用來檢測 在當前的區域設定下(參見 setlocale()),一個字符或者字符串 是否僅包含指定類型的字符。

安裝:從 PHP 4.2.0 版本開始,這些函數是默認啟用的。 更早的版本,請使用 --enable-ctype 選項來配置和編譯 PHP。 也可以使用 --disable-ctype 配置項來禁用 ctype 擴展。

具體使用說明:http://php.net/manual/zh/book.ctype.php

6、cURL(默認未啟用)

--with-curl=DIR

說明:

PHP 支持 Daniel Stenberg 創建的 libcurl 庫,能夠連接通訊各種服務器、使用各種協議。

libcurl 目前支持的協議有 http、https、ftp、gopher、telnet、dict、file、ldap。 libcurl 同時支持 HTTPS 證書、HTTP POST、HTTP PUT、 FTP 上傳(也能通過 PHP 的 FTP 擴展完成)、HTTP 基於表單的上傳、代理、cookies、用戶名+密碼的認證。

安裝:

要 PHP 支持 cURL,必須在編譯 PHP 時加上 --with-curl[=DIR] 選項,DIR 為包含 lib 和 include 的目錄路徑。

在 include 目錄中必須有一個名為curl,包含了easy.h 和curl.h 的文件夾。lib文件夾里應該有一個名為libcurl.a的文件。

對於 PHP 4.3.0 你可以配置 --with-curlwrappers 使 cURL 使用 URL 流。

依賴:Debian/Ubuntu 需安裝 libcurl4-gnutls-dev 依賴包。Redhat/CentOS 需安裝 curl-devel 依賴包。

具體使用說明:http://php.net/manual/zh/book.curl.php

7、Date/Time Support(date)(默認啟用)

說明:你可以使用這些函數獲取運行 PHP 的服務器的日期和時間, 也可以使用這些函數把日期和時間 格式化成不同格式的字符串。

安裝:使用這些函數不需要安裝,它們是 PHP 核心的一部分。

具體使用說明:http://php.net/manual/zh/book.datetime.php

8、DBA(Database (dbm-style) Abstraction Layer)(默認未啟用)

−−enable-dba

說明:

這些函數為訪問Berkeley DB樣式數據庫奠定了基礎。

這是幾個基於文件的數據庫的通用抽象層。因此,功能僅限於現代數據庫支持的常見功能子集,例如 »Oracle Berkeley DB

安裝:通過使用--enable-dba = shared 配置選項,您可以構建動態可加載模塊,以使PHP能夠基本支持dbm樣式的數據庫。

具體使用說明:http://php.net/manual/zh/refs.database.abstract.php

9、DB-LIB (MS SQL, Sybase)(pdo_dblib)

說明:

PHP 數據對象 (PDO) 擴展為PHP訪問數據庫定義了一個輕量級的一致接口。實現 PDO 接口的每個數據庫驅動可以公開具體數據庫的特性作為標准擴展功能。

注意利用 PDO 擴展自身並不能實現任何數據庫功能;必須使用一個 具體數據庫的 PDO 驅動 來訪問數據庫服務。

安裝:

在 Unix 系統上安裝 PDO

1、自 PHP 5.1.0 起,PDO 和 PDO_SQLITE 驅動默認可用。對於自己選擇的數據庫,需要啟用相應的 POD 驅動; 查閱 特定數據庫的 PDO 驅動 文檔獲取更多此內容。

2、當作為一個共享模塊安裝 PDO 時,需要更新 php.ini 文件以便當 PHP 運行時 PDO 擴展能被自動加載。還需要在那里啟用具體的數據庫驅動;確保它們被列在 pdo.so 那一行之后,因為 PDO 必須在具體的 數據庫擴展被載入前初始化。如果靜態地構建 PDO 和 具體數據庫擴展,可以跳過此步。

extension=pdo.so

Windows 用戶

1、PDO 和所有主要的驅動作為共享擴展隨 PHP 一起發布,要激活它們只需簡單地編輯 php.ini 文件:

extension=php_pdo.dll

2、下一步,選擇其他具體數據庫的 DLL 文件,然后要么在運行時用 dl() 載入,要么在 php.ini 中的 php_pdo.dll 后面啟用。例如:

extension=php_pdo.dll
extension=php_pdo_firebird.dll
extension=php_pdo_informix.dll
extension=php_pdo_mssql.dll
extension=php_pdo_mysql.dll
extension=php_pdo_oci.dll
extension=php_pdo_oci8.dll
extension=php_pdo_odbc.dll
extension=php_pdo_pgsql.dll
extension=php_pdo_sqlite.dll  

具體使用說明:http://php.net/manual/zh/pdo.drivers.php

10、DOM(默認啟用)

--disable-dom

說明:DOM擴展允許您通過帶有PHP的DOM API操作XML文檔。DOM擴展允許您通過帶有PHP的DOM API操作XML文檔。

安裝:此擴展默認為啟用,編譯時可通過下列選項禁用: --disable-dom

具體使用說明:http://php.net/manual/zh/book.dom.php

11、enchant(默認未啟用)

說明:從PHP 5.3.0開始,此擴展與PHP捆綁在一起。在此之前,enchant 是PECL擴展。5.3.0之前版本的用戶可以使用 »PECL擴展

安裝:如果安裝了 所需的庫,PHP 5.3.0或更高版本的用戶可以通過 在編譯PHP時添加--with-enchant=[dir]選項來啟用enchant,指定其目錄−−with-enchant=/usr。

Debian/Ubuntu 需安裝 libenchant-dev, libpspell-dev 依賴包。

Redhat/CentOS 需安裝 enchant-devel, aspell-devel 依賴包。

具體使用說明:http://php.net/manual/zh/book.enchant.php

12、EXIF(默認未啟用)

−−enable-exif

說明:通過使用 exif 擴展,你可以操作圖像元數據。 例如:你可以使用 exif 相關的函數從數碼相機拍攝的圖片文件中讀取元數據。 通常 JPEG 和 TIFF 格式的圖像文件都包含元數據。

安裝:使用 --enable-exif 選項 配置 PHP 來啟用 exif 支持。Windows 用戶必須在 php.ini 中啟用 php_mbstring.dll 和 php_exif.dll 擴展。 請確保在 php.ini 中保持正確的順序:php_mbstring.dll 必須在 php_exif.dll 之前 加載。

具體使用說明:http://php.net/manual/zh/book.exif.php

13、fileinfo(默認啟用)

−−disable-fileinfo #禁用

說明:該模塊中的函數通過查找文件中特定位置的特定字節序列來猜測文件的內容類型和編碼。雖然不是百分百的精確, 但是通常情況下能夠很好的工作。

安裝:從 PHP 5.3.0 開始,本擴展是默認開啟的。 在之前的版本中,fileinfo 是一個 PECL 擴展,但是已經不再持續維護。 5.3+ 之前的版本, 可以使用 » 停止使用的 PECL 擴展

Windows 用戶需要在 php.ini 中開啟綁定的 php_fileinfo.dll DLL 來啟用本擴展。

PHP 中綁定了 libmagic 庫,某些 PHP 版本變更中也可能包含此庫。 在 PHP fileinfo 擴展的源代碼中,有 libmagic.patch 文件, 這是 libmagic 庫的補丁包文件。

注意:在內存比較小的機器上編譯此擴展時可能會失敗,因此內存加 SWAP 的容量小於 480MB 時就不要安裝了。

具體使用說明:http://php.net/manual/zh/book.fileinfo.php

14、Filter(默認啟用)

--disable-filter #禁用

說明:這個擴展通過驗證來過濾數據。當數據源包含未知(或外來)數據(如用戶提供的輸入)時,這尤其有用。例如,這些數據可能來自HTML表單。

安裝:默認情況下PHP 5.2.0啟用了過濾器擴展。要禁用篩選器擴展,請使用--disable-filter。然而,在PHP 5.2使用實驗性PECL擴展之前,PECL版本不再推薦或更新。

具體使用說明:http://php.net/manual/zh/book.filter.php

15、Firebird driver for PDO(pdo_firebird)(默認未啟用)

—with-pdo-firebird[=DIR]

說明:PDO_FIREBIRD 是一個實現PHP Data Objects (PDO)接口的驅動程序,該接口支持從PHP訪問Firebird數據庫。

安裝:使用--with-pdo-firebird=DIR 安裝 PDO Firebird 擴展名,其中可選的[=DIR]是Firebird基本安裝目錄。

具體使用說明:http://php.net/manual/zh/pdo.drivers.php

16、FTP(默認未開啟)

−−enable-ftp

說明:

本擴展中的函數實現了通過 FTP 協議訪問文件服務器的客戶端。 FTP 協議在 » http://www.faqs.org/rfcs/rfc959 中定義。

本擴展提供了對於 FTP 服務器完整的訪問及控制功能。 如果只是簡單的從 FTP 服務器讀取或向服務器寫入一個文件, 請考慮使用 ftp:// 包裝器 和 文件系統函數, 會更加的簡單。

安裝:

要使用這些 FTP 相關函數,在編譯的時候請添加 --enable-ftp 選項。

PHP 的 Windows 版本已內建對此擴展的支持。不需要載入額外的擴展來使用這些函數。

具體使用說明:http://php.net/manual/zh/book.ftp.php

17、GD imaging(gd)(默認未開啟)

--with-gd[=DIR] 

說明:

PHP 並不僅限於創建 HTML 輸出, 它也可以創建和處理包括 GIF, PNG, JPEG, WBMP 以及 XPM 在內的多種格式的圖像。

更加方便的是,PHP 可以直接將圖像數據流輸出到瀏覽器。 要想在 PHP 中使用圖像處理功能,你需要連帶 GD 庫一起來編譯 PHP。

 GD 庫和 PHP 可能需要其他的庫, 這取決於你要處理的圖像格式。

你可以使用 PHP 中的圖像函數來獲取下列格式圖像的大小: JPEG, GIF, PNG, SWF, TIFF 和 JPEG2000

如果聯合 exif 擴展 一起使用, 你可以操作存儲在 JPEG 和 TIFF 圖像文件頭部的信息, 這樣就就可以獲取數碼相機所產生的元數據。 exif 相關的函數不需要 GD 庫亦可使用。

安裝:

配置 PHP 時加上 --with-gd[=DIR] ,DIR 是 GD 的基本安裝目錄。要使用推薦的綁定的 GD 庫版本(首次綁定於 PHP 4.3.0),使用 --with-gd 。

要編譯 GD 庫,需要libpng 和 libjpeg。

在 Windows 中,需要將 GD2 的 DLL 文件 php_gd2.dll 作為一個擴展包含在 php.ini 中。GD1 的 DLL 文件 php_gd.dll 在 PHP 4.3.2 中被刪除了。此外要注意首選的真彩色圖像函數,例如 imagecreatetruecolor(),需要 GD2。

這是一個打包式的依賴,需要依賴如下安裝包。
−−with-webp-dir=DIR(PHP 7.0, 7.1 only)
−−with-jpeg-dir=DIR
−−with-png-dir=DIR
−−with-zlib-dir=DIR
−−with-xpm-dir=DIR
−−with-freetype-dir=DIR
−−enable-gd-native-ttf
−−enable-gd-jis-conv

PHP5.4、PHP5.5、PHP5.6 則還有個
−−with-vpx-dir=DIR
Debian/Ubuntu 需安裝 libwebp-dev, libjpeg-dev, libpng-dev, libxpm-dev, libfreetype6-dev, libvpx-dev 依賴包。
Redhat/CentOS 需安裝 libwebp-devel, libjpeg-devel, libpng-devel, libXpm-devel, freetype-devel, libvpx-devel 依賴包。

具體使用說明:http://php.net/manual/zh/book.image.php

18、GetText(默認未啟用)

−−with-gettext=DIR

說明:gettext函數實現了NLS (Native Language Support) API,他可以用來國際化您的PHP程序. 請參閱gettext的文檔,為您的系統進行國際化功能的詳盡的解釋 或查看文檔 » http://www.gnu.org/software/gettext/manual/gettext.html.

安裝:在構建PHP的時候要添加 GNU gettext 支持,你必須添加如下選項 --with-gettext[=DIR] DIR 表示 gettext 的安裝目錄,默認是/usr/local.

Debian/Ubuntu 需安裝 gettext 依賴包。
Redhat/CentOS 需安裝 gettext, gettext-devel 依賴包。

具體使用說明:http://php.net/manual/zh/book.gettext.php

19、GMP(默認未啟用)

--with-gmp

說明:這些函數允許使用GNU MP庫處理任意長度的整數。

安裝:了使這些函數可用,必須使用--with-gmp選項在GMP支持下編譯PHP。

具體使用說明:http://php.net/manual/zh/book.gmp.php

20、Hash(默認啟用)

−−disable-hash #禁用

說明:信息摘要(哈希)引擎。允許使用各種哈希算法直接或增量處理任意長度的信息。

安裝:

從 PHP 5.1.2 開始,哈希擴展是內置的,不需要外部庫, 並且默認是啟用的。

可以通過 --disable-hash 參數來禁用此擴展。 對於更早版本的 PHP,可以通過安裝 » PECL 模塊 來使用哈希擴展。

具體使用說明:http://php.net/manual/zh/book.hash.php

21、iconv(默認啟用)

−−without-iconv #禁用
-with-iconv[=DIR] #設定路徑,否則掃描默認路徑

說明:

此模塊包含了 iconv 字符集轉換功能的接口。

使用此模塊,你可以將一個本地字符集表達的字符串轉換成另一種字符集,比如可以是 Unicode 字符集。

支持的字符集基於你系統上 iconv 的實現。 注意,在某些系統上 iconv 函數可能無法以你預期的那樣工作。

在這種情況下,安裝 » GNU libiconv 庫將會是個不錯的主意。 它最終將會產生更一致的結果。

安裝:

默認已激活此擴展,但是它能夠在編譯時通過 --without-iconv 選項被禁用。

選項指令 --with-iconv-dir 用於 PHP 編譯時指定 iconv 在系統里的路徑,否則會掃描默認路徑。

具體使用說明:http://php.net/manual/zh/book.iconv.php

22、IMAP(默認未啟用)

--with-imap[=DIR]

說明:這些函數提供了可以操作 IMAP 以及 NNTPPOP3 和本地郵箱的方法。注意,有些 IMAP 函數在 POP3 協議下將不能正常的工作。

安裝:

編譯 PHP 的時候添加 --with-imap[=DIR] 選項, DIR 表示c-client安裝前綴。編譯 PHP 的時候添加 --with-imap[=DIR] 選項, DIR 表示c-client安裝前綴。

因為取決於 c-client 是如何配置的,所以你應該向 PHP 配置行添加--with-imap-ssl=/path/to/openssl/ 或者 --with-kerberos=/path/to/kerberos 配置信息。

具體使用說明:http://php.net/manual/zh/book.imap.php

23、InterBase(默認未啟用)

−−with-interbase=DIR

說明:Firebird是一個關系數據庫,提供許多ISO SQL-2003特性,可以在Linux、Windows和各種Unix平台上運行。Firebird為存儲過程和觸發器提供了出色的並發性、高性能和強大的語言支持。自1981年以來,它以各種各樣的名稱被用於生產系統。

安裝:要啟用 Firebird/InterBase 支持,請配置PHP—with-interbase[=DIR],其中DIR是Firebird/InterBase安裝目錄,默認為/usr。

具體使用說明:http://php.net/manual/zh/book.ibase.php

24、Internationalization(intl)(默認未啟用)

−−enable-intl

說明:是一個針對»ICU庫的包裝器,它使PHP程序員能夠執行各種與語言環境相關的操作,包括但不限於格式化、音譯、編碼轉換、日歷操作、»符合uca的排序、定位文本邊界以及使用語言環境標識符、時區和圖形,

安裝:

此擴展可以使用PHP 5.3.0的捆綁版本安裝,也可以作為PHP 5.2.0的PECL擴展安裝。換句話說,有兩種方法可以安裝intl擴展。

或者,--enable-intl 將在編譯PHP時啟用綁定版本。

具體使用說明:http://php.net/manual/zh/book.intl.php

25、json(默認啟用)

−−disable-json #禁用

說明:本擴展實現了 » JavaScript對象符號(JSON) 數據轉換格式。 PHP 5 中的解碼分析器基於 Douglas Crockford 的 JSON_checker。 PHP 7 中是改進的全新解析器,專門為 PHP 訂制,軟件許可證為 PHP license。

安裝:自 PHP 5.2.0 起,JSON 擴展默認內置並編譯進了 PHP。

具體使用說明:http://php.net/manual/zh/book.json.php

26、LDAP(默認未啟用)

-with-ldap[=DIR]
-with-ldap-sasl[=DIR]

說明:DAP是輕量級目錄訪問協議,是用於訪問“目錄服務器”的協議。目錄是一種特殊的數據庫,它以樹形結構保存信息。

安裝:默認情況下PHP中不支持LDAP。在編譯PHP以啟用LDAP支持時,需要使用-with-ldap[=DIR]配置選項。DIR是LDAP基本安裝目錄。要啟用SASL支持,請確保使用了-with-ldap-sasl[=DIR],以及該SASL。h存在於系統中。

Debian/Ubuntu 需安裝 libldap-2.4-2, libldap2-dev 依賴包。

Redhat/CentOS 需安裝 openldap, openldap-devel 依賴包。

具體使用說明:http://php.net/manual/zh/book.ldap.php

27、libxml(默認啟用)

−−disable-libxml #禁用

說明:這些函數/常量在PHP 5.1.0中可用,以下核心擴展依賴於這個libxml擴展:DOMlibxml,SimpleXMLSOAPWDDXXSLXMLXMLReaderXMLRPC 和 XMLWriter.

安裝:

libxml擴展在默認情況下是啟用的,禁用使用 --disable-libxml

可選的-with-libxml-dir指令用於指定libxml在PHP正在編譯的系統上的位置,否則只掃描默認位置。配置過程按照以下順序檢查libxml(特別是xml2-config):

1、指定的位置([DIR]) --with-libxml-dir ([DIR]=/bin/xml2-config)

2、/usr/local/bin/xml2-config

3、/usr/bin/xml2-config

如果configure無法在-with-libxml-dir指定的目錄中找到xml2-config,那么它將繼續並檢查默認位置。

具體使用說明:http://php.net/manual/zh/book.libxml.php

28、Multibyte String Functions(mbstring)(默認未啟用)

−−enable-mbstring

說明:mbstring 提供了針對多字節字符串的函數,能夠幫你處理 PHP 中的多字節編碼。 除此以外,mbstring 還能在可能的字符編碼之間相互進行編碼轉換。 為了方便起見,mbstring 設計成了處理基於 Unicode 的編碼,類似 UTF-8、UCS-2 及諸多單字節的編碼

安裝:mbstring 不是一個默認擴展。

1、--enable-mbstring :激活 mbstring 函數。 要使用 mbstring 函數必須啟用這個選項,libmbfl 對 mbstring 是必要的。 libmbfl 被捆綁到了 mbstring。 如果系統已安裝 libmbfl,--with-libmbfl[=DIR] 可以指定使用已安裝的庫。

2、--disable-mbregex :禁用正則表達式函數中多字節字符的支持。

3、−−disable-mbregex-backtrack :禁用多字節正則表達式回溯檢查

4、−−with-onig=DIR:使用外部oniguruma。DIR是oniguruma安裝前綴。如果沒有設置DIR,將使用綁定的oniguruma

Debian/Ubuntu 需安裝 libonig2, libonig-dev 依賴包。

Debian/Ubuntu 需安裝 libonig2, libonig-dev 依賴包。

具體使用說明:http://php.net/manual/zh/book.mbstring.php

29、mcrypt(默認未啟用)

−−with-mcrypt=DIR 

說明:一種加密

安裝:通過指定編譯參數  −−with-mcrypt=DIR 安裝。

Debian/Ubuntu 需安裝 libmcrypt-dev 依賴包。

Redhat/CentOS 需編譯安裝 libmcrypt 和 mcrypt 。如果安裝了 EPEL 的話,則需安裝 libmcrypt-devel 依賴包。

具體使用說明:http://php.net/manual/zh/book.mcrypt.php

30、MySQL driver for PDO(pdo_mysql)(默認未啟用)

−−with-mysql-sock=SOCKPATH
−−with-pdo-mysql=DIR

說明:PDO_MYSQL是一個實現PHP Data Objects (PDO)接口的驅動程序,該接口允許從PHP訪問MySQL數據庫。

安裝:

常見的Unix發行版包括可以安裝的PHP二進制版本。雖然這些二進制版本通常是在支持MySQL擴展的情況下構建的,但是擴展庫本身可能需要使用額外的包來安裝。檢查包管理器,看看是否可用。

在Ubuntu上php5-mysql包安裝 ext/mysql、ext/mysqli 和 PDO_MYSQL PHP擴展。在CentOS上,php-mysql 包還安裝了這三個PHP擴展。

編譯時,使用 --with-pdo-mysql[=DIR] 安裝PDO MySQL擴展,其中可選[=DIR]是MySQL基本庫。從PHP 5.4開始,mysqlnd是默認庫。有關選擇庫的詳細信息,請參見選擇MySQL庫。

或者,對於所有MySQL擴展,包括PDO_MYSQL,—with-mysql-sock[=DIR]設置為MySQL unix套接字指針的位置。如果未指定,將搜索默認位置。

可以選擇 --with-zlib-dir[=DIR] 用於設置libz安裝前綴的路徑。

$ ./configure --with-pdo-mysql --with-mysql-sock=/var/mysql/mysql.sock

SSL支持使用適當的PDO_MySQL常量啟用,這相當於調用MySQL C API函數mysql_ssl_set()。而且,不能使用PDO::setAttribute啟用SSL,因為連接已經存在。請參閱MySQL文檔»使用SSL連接MySQL。

具體使用說明:http://php.net/manual/zh/ref.pdo-mysql.php

31、MySQLi(默認未啟用)

−−with-mysqli=FILE

說明:mysqli擴展允許我們訪問MySQL 4.1及以上版本提供的功能,增強版擴展。

安裝:−−with-mysqli=FILE 指定系統里安裝的 MYSQL 的目錄下的 mysql_config 文件路徑。

具體使用說明:http://php.net/manual/zh/book.mysqli.php

32、MySQLnd(默認未啟用)

−−enable-mysqlnd

說明:

MySQL本地驅動程序是MySQL客戶端庫(libmysqlclient)的替代。MySQL本地驅動程序是PHP 5.3.0官方PHP源代碼的一部分。

MySQL數據庫擴展MySQL擴展,mysqli和PDO MySQL都與MySQL服務器進行通信。在過去,這是通過使用MySQL客戶端庫提供的服務來實現的。這些擴展是根據MySQL客戶端庫編譯的,以便使用其客戶端-服務器協議。

有了MySQL本地驅動程序,現在就有了另一種選擇,因為MySQL數據庫擴展可以編譯成使用MySQL本地。

安裝:

MySQL數據庫擴展必須配置為使用MySQL客戶端庫。為了使用MySQL本機驅動程序,需要構建PHP,指定使用MySQL本機驅動程序支持編譯MySQL數據庫擴展。這是在構建PHP源代碼之前通過配置選項完成的。

例如,要使用MySQL本機驅動程序構建MySQL擴展、mysqli和PDO MySQL,需要執行以下命令:

$ ./configure --with-mysql=mysqlnd \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
[other options]

具體使用說明:http://php.net/manual/zh/book.mysqlnd.php

33、OCI8(默認未啟用)

-with-oci8

說明:這些函數允許您訪問Oracle Database 12c,11g,10g,9i和8i。它們支持SQL和PL / SQL語句。基本功能包括事務控制,PHP變量與Oracle占位符的綁定,以及對大對象(LOB)類型和集合的支持。還支持Oracle的可擴展性功能,如數據庫駐留連接池(DRCP)和結果緩存。

安裝:在編譯Php 時開啟 -with-oci8。系統里安裝了 Oracle 數據庫的話,則指定為 $ORACLE_HOME;否則需安裝 Oracle Instant Client,指定為 /path/to/instant/client/lib

具體使用說明:http://php.net/manual/zh/book.oci8.php

34、ODBC driver for PDO(pdo_odbc)(默認未啟用)

說明:PDO_ODBC是一個實現PHP數據對象(PDO)接口的驅動程序,通過ODBC驅動程序或IBM DB2調用級接口(DB2 CLI)庫實現從PHP到數據庫的訪問。 PDO_ODBC目前支持三種不同的“風格”的數據庫驅動程序:

imb-db2

支持通過免費的DB2 express-C客戶端訪問IBM DB2 Universal Database,Cloudscape和Apache Derby服務器。

unixODBC

支持通過unixODBC驅動程序管理器和數據庫自己的ODBC驅動程序訪問數據庫服務器。

通用

為PDO_ODBC未明確支持的ODBC驅動程序管理器提供編譯選項。

安裝:

imb_db2

./configure --with-pdo-odbc=ibm-db2,/opt/IBM/db2/V8.1/

unixODBC

./configure --with-pdo-odbc=unixODBC,/usr/local

通用

./configure --with-pdo-odbc=generic,/usr/local,libname,ldflags,cflags

具體使用說明:http://php.net/manual/zh/ref.pdo-odbc.php

35、ODBC(默認未啟用)

−−with-unixODBC=DIR

說明:除了正常的ODBC支持之外,PHP中的Unified ODBC函數還允許您訪問幾個借用了ODBC API語義的數據庫來實現自己的API。 這些驅動程序已經統一到一組ODBC函數中,而不是維護幾乎完全相同的多個數據庫驅動程序。

安裝:

--with-adabas[=DIR]

包括Adabas D支持。 DIR是Adabas基本安裝目錄,默認為/usr/local。

--with-sapdb[=DIR]

包括SAP DB支持。 DIR是SAP DB基本安裝目錄,默認為/usr/local。

--with-solid[=DIR]

包括 Solid 支持. DIR時Solid基本的安裝目錄, 默認為/usr/local/solid.

--with-ibm-db2[=DIR]

包括 IBM DB2 支持. DIR 是 DB2 基本的安裝目錄, 默認為/home/db2inst1/sqllib.

--with-empress[=DIR]

包括 Empress 支持. DIR 是 Empress 基本的安裝目錄, 默認為$EMPRESSPATH. 此選項僅支持Empress版本8.60及更高版本

--with-empress-bcs[=DIR]

包括“Empress Local Access”支持。 DIR是Empress基本安裝目錄,默認為$ EMPRESSPATH。此選項僅支持Empress版本8.60及更高版本。

--with-birdstep[=DIR]

包括Birdstep支持。 DIR是Birdstep基本安裝目錄,默認為/usr/local/birdstep.

--with-custom-odbc[=DIR]

包括用戶定義的ODBC支持。 DIR是ODBC安裝基目錄,默認為/ usr / local。確保定義CUSTOM_ODBC_LIBS並在include dirs中添加一些odbc.h。例如,在運行configure腳本之前,應在QNX上為Sybase SQL Anywhere 5.5.00定義以下內容:

   CPPFLAGS="-DODBC_QNX -DSQLANY_BUG"
   LDFLAGS=-lunix
   CUSTOM_ODBC_LIBS="-ldblib -lodbc".

--with-iodbc[=DIR]

包括iODBC支持。 DIR是iODBC基本安裝目錄,默認為 /usr/local.

--with-esoob[=DIR]

包括Easysoft OOB支持。 DIR是OOB基本安裝目錄,默認為 /usr/local/easysoft/oob/client.

--with-unixODBC[=DIR]

包括unixODBC支持。 DIR是unixODBC基本安裝目錄,默認為 /usr/local.

--with-openlink[=DIR]

包括OpenLink ODBC支持。 DIR是OpenLink基本安裝目錄,默認為 /usr/local. 這與 iODBC 相同.

--with-dbmaker[=DIR]

包括DBMaker支持。 DIR是DBMaker基本安裝目錄,默認安裝最新版本的 (例如 /home/dbmaker/3.6).

具體使用說明:http://php.net/manual/zh/book.uodbc.php

36、OpenSSL(默認未啟用)

−−with-openssl=DIR

說明:本擴展使用 » OpenSSL 庫來對稱/非對稱加解密,以及 PBKDF2、 PKCS7、 PKCS12、 X509 和其他加密操作。除此之外還提供了 TLS 流的實現。

安裝:

要使用 PHP 的 OpenSSL 支持,你應該使用--with-openssl[=DIR] 參數來編譯PHP.

OpenSSL 庫還在運行時對正常操作有額外的要求。最明顯的是,OpenSSL需要訪問隨機或偽隨機數生成器;

在大多數 Unix 和類 Unix 平台上(包括linux),意味着它必須要訪問 /dev/urandom 或者 /dev/random 設備。

−−with-openssl=DIR      Include OpenSSL support (requires OpenSSL >= 1.0.1)
−−with-kerberos=DIR     OPENSSL: 包括Kerberos支持
−−with-system-ciphers   OPENSSL: 使用系統默認密碼列表而不是硬編碼值
PHP 7.1 所需的 openssl 版本是 >= 1.0.1
PHP 7.0 所需的 openssl 版本是 >= 0.9.8
PHP 5.6 所需的 openssl 版本是 >= 0.9.6
PHP 5.5 所需的 openssl 版本是 >= 0.9.6
PHP 5.4 所需的 openssl 版本是 >= 0.9.6
PHP 5.3 所需的 openssl 版本是 >= 0.9.6

具體使用說明:http://php.net/manual/zh/book.openssl.php

37、Oracle (OCI) driver for PDO(pdo_oci)(默認未啟用)

說明:PDO Oracle OCI

 

安裝:

使用-with-pdo-oci[=DIR]安裝PDO Oracle OCI擴展名,其中可選[=DIR]是Oracle主目錄。[=DIR]默認值為$ORACLE_HOME環境變量。

對於配置了前綴和版本的Oracle Instant Client SDK,使用-with-pdo-oci=instantclient,prefix,version。

具體使用說明:http://php.net/manual/zh/ref.pdo-oci.php

38、pcntl(默認未啟用)

−−enable-pcntl 

說明:

PCNTL現在使用了ticks作為信號處理的回調機制,ticks在速度上遠遠超過了之前的處理機制。 這個變化與“用戶ticks”遵循了相同的語義。您可以使用declare() 語句在程序中指定允許發生回調的位置。這使得我們對異步事件處理的開銷最小化。在編譯PHP時 啟用pcntl將始終承擔這種開銷,不論您的腳本中是否真正使用了pcntl。

有一個調整是PHP 4.3.0之前的所有pcntl腳本要使其工作,要么在期望允許回調的(代碼)部分使用 declare() ,要么使用declare()新的全局語法 使其在整個腳本范圍有效。

安裝:在PHP中進程控制支持默認是關閉的。您需要使用 --enable-pcntl 配置選項重新編譯PHP的 CGI或CLI版本以打開進程控制支持。

具體使用說明:http://php.net/manual/zh/book.pcntl.php

39、Perl Compatible Regular Expressions(PCRE)(默認啟用)

--with-pcre-regex=DIR #設置外部
--without-pcre-regex #禁用

說明:

這些函數中使用的模式語法非常類似 perl。表達式必須用分隔符閉合,比如一個正斜杠(/)。 分隔符可以使任意非字母數字,除反斜杠(\)和空字節之外的非空白 ascii 字符。 如果分隔符 在表達式中使用,需要使用反斜線進行轉義。自php 4.0.4開始,可以使用 perl 樣式的()、 {}、 [] 以及 <> 作為分隔符。 更詳細的解釋參見模式語法

安裝:

PCRE 是 PHP 核心擴展,所以總是啟用的。 默認情況下,該擴展使用內置的 PCRE library。

或者,也可以通過指定 configure 選項 --with-pcre-regex=DIR 設置外部 PCRE library 目錄,DIR 是 PCRE 的 include 和 library 文件位置。 PHP 5.6/7.0 推薦使用 PCRE 8.10 或更高版本。

PHP 7.0.0 起 PCRE 默認支持 JIT(just-in-time)編譯技術,PHP 7.0.12 起可以通過 --without-pcre-jit 禁用 PCRE 的 JIT 功能。

PHP 的 Windows 版本已內建對此擴展的支持。不需要載入額外的擴展來使用這些函數。

PHP 5.3.0 的之前版本,可通過 --without-pcre-regex 配置選項禁用此擴展。

具體使用說明:http://php.net/manual/zh/book.pcre.php

40、PHP Archive(Phar)(默認啟用)

−−disable-phar

說明:

phar擴展提供了一種方法,可以將整個PHP應用程序放到一個名為“phar”(PHP歸檔)的文件中,以便於分發和安裝。

除了提供此服務之外,phar擴展還提供了一種文件格式抽象方法,用於通過PharData類創建和操作tar和zip文件,就像PDO提供了訪問不同數據庫的統一接口一樣。

與無法在不同數據庫之間進行轉換的PDO不同,Phar還可以使用一行代碼在tar、zip和Phar文件格式之間進行轉換。

安裝:此擴展默認為啟用,編譯時可通過下列選項禁用:−−disable-phar

具體使用說明:http://php.net/manual/zh/book.phar.php

41、PHP Data Objects(PDO)(默認啟用)

−−disable-pdo

說明:PHP 數據對象 (PDO) 擴展為PHP訪問數據庫定義了一個輕量級的一致接口。實現 PDO 接口的每個數據庫驅動可以公開具體數據庫的特性作為標准擴展功能。 注意利用 PDO 擴展自身並不能實現任何數據庫功能;必須使用一個 具體數據庫的 PDO 驅動 來訪問數據庫服務。

安裝:此擴展默認為啟用,編譯時可通過下列選項禁用:−−disable-pdo

具體使用說明:http://php.net/manual/zh/book.pdo.php

42、Posix(默認啟用)

−−disable-posix

說明:該模塊包含一個接口,用於訪問IEEE 1003.1 (POSIX.1)標准文檔中定義的那些不能通過其他方法訪問的函數。

安裝:此擴展默認為啟用,編譯時可通過下列選項禁用:−−disable-posix

具體使用說明:http://php.net/manual/zh/book.posix.php

43、PostgreSQL driver for PDO(pdo_pgsql)(默認未啟用)

--with-pdo-pgsql[=DIR]

說明:PDO_PGSQL是一個實現PHP數據對象(PDO)接口的驅動程序,它支持從PHP訪問PostgreSQL數據庫。

安裝:使用--with-pdo-pgsql[=DIR]來安裝PDO PostgreSQL擴展名,其中可選的[=DIR]是PostgreSQL基本安裝目錄,或者是pg_config的路徑。

具體使用說明:http://php.net/manual/zh/ref.pdo-pgsql.php

44、PostgreSQL(默認未啟用)

−−with-pgsql=DIR

說明:

PostgreSQL數據庫是一個開源產品,可以免費使用。

Postgres最初是在加州大學伯克利分校計算機科學系開發的,它開創了許多對象-關系概念,現在在一些商業數據庫中可用。

它提供SQL92/SQL99語言支持、事務、引用完整性、存儲過程和類型可擴展性。PostgreSQL是這個原始Berkeley代碼的開源后代。

安裝:為添加 PostgreSQL 支持,在編譯 PHP 時需要加上 --with-pgsql[=DIR] 選項。如果可以用共享模塊方式,PostgreSQL 模塊可以在 php.ini 用 extension 指令或者 dl() 函數加載。

具體使用說明:http://php.net/manual/zh/book.pgsql.php

45、Pspell(默認未啟用)

−−with-pspell=DIR

說明:這些功能允許您檢查單詞的拼寫並提供建議。

安裝:在編譯PHP時,您需要添加—with-pspell[=dir]選項。一般需指定其目錄,−−with-pspell=/usr。

Debian/Ubuntu 需安裝 libpspell-dev 依賴包。

Redhat/CentOS 需安裝 aspell-devel 依賴包。

具體使用說明:http://php.net/manual/zh/book.pspell.php

46、Readline(默認未開啟)

−−with-readline=DIR

說明:

readline 擴展函數實現了訪問 GNU Readline 庫的接口. 這些函數提供了可編輯的命令行。

一個例子是在 Bash 中允許你使用箭頭按鍵來插入字符或者翻看歷史命令。

因為這個庫的交互特性,這個功能在你寫的 Web 程序中沒多大用處, 但是當你寫的腳本被用在命令行中時非常有用。

從PHP 7.1.0 開始,這個擴展在Windows上也可用。

安裝:

要使用這些函數,你必須在編譯 PHP 的 CGI 或者 CLI 版本時啟用 readline 支持。

你需要在編譯配置 PHP 時使用 --with-readline[=DIR] 選項。

如果你想使用 libedit 來代替 readline , 配置 PHP 時使用 --with-libedit[=DIR] 選項。

Debian/Ubuntu 需安裝 libreadline-dev 依賴包。

Redhat/CentOS 需安裝 readline-devel 依賴包。

具體使用說明:http://php.net/manual/zh/book.readline.php

47、Recode(默認未開啟)

−−with-recode=DIR

說明:

這個模塊包含一個GNU Recode庫的接口。GNU Recode庫在各種編碼字符集和表面編碼之間轉換文件。

當這不能准確地實現時,它可能會去掉有問題的字符,或者依賴於近似。

該庫識別或產生近150個不同的字符集,並能夠在幾乎任何對之間轉換文件。支持RFC 1345字符集。

安裝:

要使用這個模塊中定義的函數,必須使用--with-recode[=DIR]選項編譯PHP解釋器。

Debian/Ubuntu 需安裝 librecode-dev 依賴包。

Redhat/CentOS 需安裝 recode-devel 依賴包。

具體使用說明:http://php.net/manual/zh/book.recode.php

48、Reflection(默認啟用)

說明:

PHP 5 具有完整的反射 API,添加了對類、接口、函數、方法和擴展進行反向工程的能力。

此外,反射 API 提供了方法來取出函數、類和方法中的文檔注釋。

請注意部分內部 API 丟失了反射擴展工作所需的代碼。

例如,一個內置的 PHP 類可能丟失了反射屬性的數據。這些少數的情況被認為是錯誤,不過, 正因為如此,它們應該被發現和修復。

安裝:使用這些函數不需要安裝,它們是 PHP 核心的一部分。

具體使用說明:http://php.net/manual/zh/book.reflection.php

49、Sessions(默認啟用)

−−disable-session #禁用

說明:

會話支持在 PHP 中是在並發訪問時由一個方法來保存某些數據.從而使你能夠構建更多的定制程序 從而提高你的 web 網站的吸引力.

一個訪問者訪問你的 web 網站將被分配一個唯一的 id, 就是所謂的會話 id. 這個 id 可以存儲在用戶端的一個 cookie 中,也可以通過 URL 進行傳遞.

會話支持允許你將請求中的數據保存在超全局數組$_SESSION中. 當一個訪問者訪問你的網站,PHP 將自動檢查(如果 session.auto_start 被設置為 1)或者在你要求下檢查(明確通過 session_start() 或者隱式通過 session_register()) 當前會話 id 是否是先前發送的請求創建. 如果是這種情況, 那么先前保存的環境將被重建。

安裝:會話的支持在 PHP 默認為激活。如果不想在 PHP 中加入會話支持,應在配置時指定 --disable-session 選項。要為會話存儲使用共享內存分配(mm),配置 PHP 時指定 --with-mm[=DIR] 。

具體使用說明:http://php.net/manual/zh/book.session.php

50、Shared Memory Operations(shmop)(默認未啟用)

--enable-shmop

說明:Shmop是一組易於使用的函數,它允許PHP讀取、寫入、創建和刪除Unix共享內存段。

安裝:要使用shmop,需要在配置行中使用--enable-shmop參數編譯PHP。

具體使用說明:http://php.net/manual/zh/book.shmop.php

51、SimpleXML(默認啟用)

−−disable-simplexml #禁用

說明:SimpleXML 擴展提供了一個非常簡單和易於使用的工具集,能將 XML 轉換成一個帶有一般屬性選擇器和數組迭代器的對象。

安裝:

此擴展默認為啟用,編譯時可通過下列選項禁用: --disable-simplexml

在PHP 5.1.2之前,需要 --enable-simplexml 來啟用此擴展。

另如果要給此擴展指定 libxml2 目錄的話,則還有以下的編譯參數。

−−with-libxml-dir=DIR  SimpleXML: libxml2 install prefix

具體使用說明:http://php.net/manual/zh/book.simplexml.php

52、SNMP(默認未啟用)

−−with-snmp=DIR

說明:

SNMP擴展提供了一個非常簡單且易於使用的工具集,用於通過簡單的網絡管理協議管理遠程設備。

由於它是底層Net-SNMP(或舊系統上的uc - snmp)庫的包裝器,所以所有基本概念都是相同的,PHP函數根據Net-SNMP配置文件和環境變量更改其行為。

從PHP 5.4開始,可以使用一個OO API。更多關於Net-SNMP的信息可以在 http://www.netsnmp.org/ 找到

安裝:

為了使用 UCD SNMP 包,需要在編譯之前將 NO_ZEROLENGTH_COMMUNITY 定義為 1。 在配置 UCD SNMP 之后,編輯 config.h 或 acconfig.h,查找 NO_ZEROLENGTH_COMMUNITY,將 #define 所在行的注釋去掉。修改后應該類似這樣:

#define NO_ZEROLENGTH_COMMUNITY 1

然后使用 --with-snmp[=DIR] 選項編譯 PHP。

如果在組合 SNMP 命令時看到奇怪的字段錯誤,那就是因為沒有遵從上述說明。如果不想重新編譯 UCD SNMP,可以使用 --enable-ucd-snmp-hack 開關編譯 PHP 以繞開上述錯誤。

Debian/Ubuntu 需安裝 libsnmp-dev 依賴包。

Redhat/CentOS 需安裝 net-snmp-devel 依賴包。

具體使用說明:http://php.net/manual/zh/book.snmp.php

53、SOAP (默認未啟用)

 −−enable-soap

說明:SOAP擴展可以用來編寫SOAP服務器和客戶機。它支持»SOAP 1.1、»SOAP 1.2和»WSDL 1.1規范的子集。

安裝:要啟用SOAP支持,請使用 --enable- SOAP 配置PHP。

具體使用說明:http://php.net/manual/zh/book.soap.php

54、Sockets(默認未開啟)

−−enable-sockets

說明:Socket擴展是基於流行的BSD sockets,實現了和socket通訊功能的底層接口,它可以和客戶端一樣當做一個socket服務器。

安裝:編譯PHP時必須在配置中添加--enable-sockets 配置項來啟用。在 PHP 5.0.0 開始加入了對 IPv6 的支持。

具體使用說明:http://php.net/manual/zh/book.sockets.php

55、SPL(默認啟用)

說明:SPL是用於解決典型問題(standard problems)的一組接口與類的集合。

安裝:此擴展只能在php 5.0以后使用,此擴展從PHP 5.3.0 不再被關閉,會一直有效.成為php內核組件一部份。

具體使用說明:http://php.net/manual/zh/book.spl.php

56、SQLite3(默認啟用)

−−without-sqlite3=DIR #禁用

說明:對 SQLite v3 數據庫的支持信息。

安裝:SQLite3 擴展自 PHP 5.3.0 起已默認啟用。 允許在編譯時使用 --without-sqlite3 禁用之。

具體使用說明:http://php.net/manual/zh/book.sqlite3.php

57、SQLite 3.x driver for PDO(pdo_sqlite)(默認啟用)

−−without-pdo-sqlite=DIR #禁用

說明:PDO_SQLITE是一個驅動程序,它實現了PHP數據對象(PDO)接口,以支持對SQLite 3數據庫的訪問。

安裝:

默認情況下啟用PDO_SQLITE PDO驅動程序。

要禁用,可以使用--without-pdo-sqlite[=DIR],其中可選[=DIR]是sqlite的基本安裝目錄。

在PHP 7.4.0»libsqlite≥3.5.0是必需的。以前,如果省略[=DIR],則可以使用綁定的libsqlite,它是默認的。

具體使用說明:http://php.net/manual/zh/ref.pdo-sqlite.php

58、System V Message based IPC(默認未啟用)

−−enable-sysvmsg

說明:該模塊為System V IPC系列函數提供包裝器。它包括信號量、共享內存和進程間消息傳遞(IPC)。

安裝:

要啟用System V  messages,支持使用選項——enable-sysvmsg編譯PHP。

默認情況下不支持此函數。

具體使用說明:http://php.net/manual/zh/book.sem.php

59、System V Semaphores(默認未啟用)

−−enable-sysvsem

說明:該模塊為System V IPC系列函數提供包裝器。它包括信號量、共享內存和進程間消息傳遞(IPC)。

安裝:要啟用System V semaphore,支持使用 --enable-sysvsem 選項編譯PHP。

具體使用說明:http://php.net/manual/zh/book.sem.php

60、System V Shared Memory(默認未啟用)

−−enable-sysvshm

說明:該模塊為System V IPC系列函數提供包裝器。它包括信號量、共享內存和進程間消息傳遞(IPC)。

安裝:要啟用System V shared memory,請使用 --enable-sysvshm  選項編譯PHP。

具體使用說明:http://php.net/manual/zh/book.sem.php

61、tidy(默認未開啟)

−−with-tidy=DIR

說明:Tidy是一個針對Tidy HTML clean and repair實用程序的綁定,它不僅允許您清理並以其他方式操作HTML、XHTML和XML文檔,而且還可以遍歷文檔樹,包括使用面向對象構造的嵌入式腳本語言(如PHP或ASP)的文檔樹。

安裝:

此擴展與PHP 5及更高版本綁定,並使用 --with-tidy configure 選項進行安裝。

Debian/Ubuntu 需安裝 libtidy-dev 依賴包。

Redhat/CentOS 需安裝 libtidy-devel 依賴包。

具體使用說明:http://php.net/manual/zh/book.tidy.php

62、tokenizer(默認啟用)

−−disable-tokenizer #禁用

說明:tokennizer 函數提供了一個到嵌入在Zend引擎中的PHP記號賦予器的接口。使用這些函數,您可以編寫自己的PHP源代碼分析或修改工具,而不必在詞匯級別處理語言規范。

安裝:

從 PHP 4.4.0 開始,這些函數默認是被激活的. 對於舊版本在配置和編譯 PHP 是使用 --enable-tokenizer 選項. 也能使用 --disable-tokenizer 選項禁用 tokenizer 支持.

PHP 的 Windows 版本已內建對此擴展的支持。不需要載入額外的擴展來使用這些函數。

具體詳細說明:http://php.net/manual/zh/book.tokenizer.php

63、WDDX(默認未啟用)

−−enable-wddx

說明:這些函數適用於使用»WDDX。

安裝:

安裝所需的expat庫之后,使用-enable-wddx編譯PHP,並使用-with-libexpat-dir用於expat。

PHP的Windows版本已內建對此擴展的支持。不需要載入額外的擴展來使用這些函數。

具體詳細說明:http://php.net/manual/zh/book.wddx.php

64、XMLReader(默認已啟用)

−−disable-xmlreader

說明:XMLReader擴展是一個XML Pull解析器。閱讀器充當向前移動文檔流的游標,並在途中的每個節點處停止。

安裝:

XMLReader擴展最初是PHP 5的PECL擴展。它后來在PHP 5.1.0版本中被移到PHP源代碼(綁定),在PHP 5.1.2版本中默認啟用。

此擴展默認為啟用,編譯時可通過下列選項禁用: --disable-xmlreader

另如果要給此擴展指定 libxml2 目錄的話,則還有以下的編譯參數。−−with-libxml-dir=DIR

具體詳細說明:http://php.net/manual/zh/book.xmlreader.php

 

說明:

安裝:

具體詳細說明:

 

說明:

安裝:

具體詳細說明:

 

說明:

安裝:

具體詳細說明:

 

說明:

安裝:

具體詳細說明:

 

說明:

安裝:

具體詳細說明:

 

說明:

安裝:

具體詳細說明:

 

 

 

https://www.jymll.com/34.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM