从 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 库进行编译。或者,可以通过传入 --with-pcre-regex=DIR 配置选项来使用外部 PCRE 库,其中 DIR
是 PCRE 的包含文件和库文件的路径。建议使用 PCRE 8.10 或更高版本;从 PHP 7.3.0 开始,需要 PCRE2。
PCRE 的即时编译默认情况下受支持,从 PHP 7.0.12 开始,可以使用 --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>(我不知道为什么有两个)。