从 PHP 7.3 版本开始,使用 'pcre2' 代替 'pcre'。它与 PHP 源代码捆绑在一起,或者如果使用以下配置选项编译,可以使用预安装的 pcre2
--enable-shared --enable-unicode --enable-jit
如果要使用预安装的 pcre2 与 PHP,请使用配置选项 --with-pcre-dir=<path> 和 --with-pcre-regex=<path>(我不知道为什么有两个)。
PCRE 扩展是 PHP 的核心扩展,因此始终启用。默认情况下,此扩展使用捆绑的 PCRE 库编译。或者,可以使用外部 PCRE 库,方法是传入 --with-pcre-regex=DIR 配置选项,其中 DIR
是 PCRE 的 include 和库文件的位置。建议使用 PCRE 8.10 或更高版本;从 PHP 7.3.0 开始,需要 PCRE2。
从 PHP 7.0.12 开始,默认情况下支持 PCRE 的即时编译,可以使用 --without-pcre-jit 配置选项禁用。
PHP 的 Windows 版本内置支持此扩展。您不需要加载任何其他扩展即可使用这些函数。
PCRE 是一个活跃的项目,随着它的变化,依赖它的 PHP 功能也会发生变化。PHP 文档的某些部分可能过时,因为它可能没有涵盖 PCRE 提供的最新功能。有关更改列表,请参阅 » PCRE 库变更日志 以及以下捆绑的 PCRE 历史记录
PHP 版本 | 更新的 PCRE 版本 | 注释 |
---|---|---|
8.2.0 | 10.40 | |
8.1.0 | 10.39 | |
7.4.12, 8.0.0 | 10.35 | |
7.4.6 | 10.34 | |
7.4.0 | 10.33 | |
7.3.0 | 10.32 | |
7.2.0 | 8.41 | |
7.0.3 | 8.38 | 参见 CVE-2015-8383、CVE-2015-8386、CVE-2015-8387、CVE-2015-8389、CVE-2015-8390、CVE-2015-8391、CVE-2015-8393、CVE-2015-8394 |
7.0.0 | 8.37 | 参见 CVE-2015-2325、CVE-2015-2326 |
从 PHP 7.3 版本开始,使用 'pcre2' 代替 'pcre'。它与 PHP 源代码捆绑在一起,或者如果使用以下配置选项编译,可以使用预安装的 pcre2
--enable-shared --enable-unicode --enable-jit
如果要使用预安装的 pcre2 与 PHP,请使用配置选项 --with-pcre-dir=<path> 和 --with-pcre-regex=<path>(我不知道为什么有两个)。