array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'ja', ), 'this' => array ( 0 => 'pcre.installation.php', 1 => 'インストール手順', ), 'up' => array ( 0 => 'pcre.setup.php', 1 => 'インストール/設定', ), 'prev' => array ( 0 => 'pcre.requirements.php', 1 => '要件', ), 'next' => array ( 0 => 'pcre.configuration.php', 1 => '実行時設定', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'ja', 'path' => 'reference/pcre/configure.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
PCRE は PHP のコア拡張モジュールなので、常に有効となっています。
デフォルトでは、この拡張モジュールのコンパイルには、バンドルされている PCRE
ライブラリを利用します。別の PCRE ライブラリを使ってコンパイルする場合は、オプション
--with-pcre-regex=DIR を利用します。
このとき DIR
には、PCRE のインクルードファイルやライブラリファイルがある場所を指定します。
PCRE 8.10 以降を使うことを推奨します。PHP 7.3.0 以降では、PCRE2 が必須になっています。
PCRE の JIT(ジャストインタイムコンパイル) 機能はデフォルトでサポートされています。 PHP 7.0.12 以降では、--without-pcre-jit 構成オプションで無効化できます。
Windows 版の PHP
には
この拡張モジュールのサポートが組み込まれています。これらの関数を使用
するために拡張モジュールを追加でロードする必要はありません。
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 | See 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 | See CVE-2015-2325, CVE-2015-2326 |