php7编译安装和安装参数最全详解

时间:2024-03-17 22:17:14

原址: https://www.cnblogs.com/makecode/articles/10059099.html

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