Установка

ΠœΠΎΠ΄ΡƒΠ»ΡŒ 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
οΌ‹Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΡ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ 1 note

up
0
Lrinczy Zsigmond ΒΆ
7 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).