Установка
PCRE является модулем ядра, поэтому он всегда доступен.
По умолчанию этот модуль собирается с использованием встроенной библиотеки PCRE.
Также можно использовать внешнюю PCRE-библиотеку, указав при сборке
параметр --with-pcre-regex=DIR, где
DIR
указывает на директорию с библиотеками и
подключаемыми файлами PCRE. Рекомендуется использовать PCRE 8.10 и выше;
с PHP 7.3.0 требуется PCRE2.
По умолчанию поддерживается JIT-компиляция PCRE. Её можно
отключить с помощью опции --without-pcre-jit
начиная с PHP 7.0.12.
Версия PHP для
Windows имеет встроенную поддержку этого модуля.
То есть для вызова этих функций не нужна загрузка
дополнительных модулей.
PCRE - активный проект, и по мере того, как он меняется, меняется и
функциональность PHP, которая полагается на него. Возможно, некоторые
части документации PHP устарели в том плане, что они не покрывают
новейшие возможности, которые предоставляет PCRE. Список изменений
можно найти в » списке изменений
библиотеки 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 |
Lrinczy Zsigmond ¶6 years ago
From PHP version 7.3, 'pcre2' is used instead of 'pcre'. It is bundled with the PHP source, or a preinstalled pcre2 can be used if it was compiled with these configure-options:
--enable-shared --enable-unicode --enable-jit
If you want to use preinstalled pcre2 with PHP, use configure-options --with-pcre-dir=<path> and --with-pcre-regex=<path> (I don't know why there is two of them).