Установка
Модуль PCRE включили в ядро PHP, поэтому функции модуля доступны в каждый момент времени.
По умолчанию модуль компилируется со встроенной библиотекой PCRE.
Альтернативно модуль собирают с внешней PCRE-библиотекой, для этого указывают
параметр конфигурации --with-pcre-regex=DIR,
где DIR
— каталог с файлами
пакета и библиотеки PCRE. Разработчики PHP рекомендуют использовать PCRE 8.10 и выше;
с PHP 7.3.0 требуется библиотека PCRE2.
Компиляция регулярных выражений библиотеки PCRE по принципу «точно в срок»,
или JIT, поддерживается по умолчанию. C PHP 7.0.12 появился доступ к отключению
JIT-компиляции регулярных выражений
через опцию --without-pcre-jit.
В версию PHP для Windows
встроили поддержку модуля PCRE. Доступ к функция модуля открыт без загрузки
дополнительных модулей.
Проект PCRE непрерывно развивается, и по мере изменения библиотеки
изменяются и функции PHP, которые зависят от библиотеки. Отдельные
части PHP-документации иногда устаревают и не покрывают новые
функции библиотеки PCRE. Список изменений
содержит » журнал изменений
библиотеки PCRE и следующая история встроенного модуля PCRE:
История обновлений встроенной в PHP библиотеки 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-jitIf 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).