Хочу поделится своим опытом перевода Apache 2.4 на PCRE2, так как даже PHP 7 уже давно поддерживает библиотеку PCRE2, а open source Apache Software Foundation все еще нет.
Конечно я сейчас наверно опережаю релиз Apache с поддержкой PCRE2, так как я использую исходники с гита Apache, что говорит нам о поддержке PCRE2 уже возможно в следующем релизе, но для тех кто уже сейчас хочет поддержку PCRE2 в Apache 2.4, и кто не хочет ждать релиза делюсь одним из способов.
Статья предполагает что вы собираете весь необходимый софт из исходников, список софта и версий на момент написания статьи:
PCRE2-10.33
APR 1.7.0
APR-util 1.6.1
Apache httpd 2.4.41
Опустим момент скачивания исходников с оф источников так как это слишком очевидно, итак вы распаковали архив, переходим в папку с исходниками PCRE2, и выполняем следующую команду для поддержки UTF:
В префиксе указываете свой путь если не хотите использовать стандартное расположение для установки библиотеки:
Иначе собираете без префикса.
Остальные команды указывают на включение поддерживающие 8-битный, 16-битный и 32-битный кодовые блоки PCRE, в данном варианте сборка была выполнена с ними.
Ну и конечно компилируем это дело при помощи последовательного выполнения команд:
Если все норм и компиляция прошла без ошибок, переходим к следующему шагу.
Конечно я сейчас наверно опережаю релиз Apache с поддержкой PCRE2, так как я использую исходники с гита Apache, что говорит нам о поддержке PCRE2 уже возможно в следующем релизе, но для тех кто уже сейчас хочет поддержку PCRE2 в Apache 2.4, и кто не хочет ждать релиза делюсь одним из способов.
Статья предполагает что вы собираете весь необходимый софт из исходников, список софта и версий на момент написания статьи:
PCRE2-10.33
APR 1.7.0
APR-util 1.6.1
Apache httpd 2.4.41
Шаг первый: собираем и компилируем PCRE2
Опустим момент скачивания исходников с оф источников так как это слишком очевидно, итак вы распаковали архив, переходим в папку с исходниками PCRE2, и выполняем следующую команду для поддержки UTF:
./configure --prefix=/etc/webserver/pcre2-1033 --enable-pcre2-8 --enable-pcre2-16 --enable-pcre2-32 --enable-unicode
В префиксе указываете свой путь если не хотите использовать стандартное расположение для установки библиотеки:
--prefix=/ваш/путь/до библиотеки
Иначе собираете без префикса.
Остальные команды указывают на включение поддерживающие 8-битный, 16-битный и 32-битный кодовые блоки PCRE, в данном варианте сборка была выполнена с ними.
Ну и конечно компилируем это дело при помощи последовательного выполнения команд:
make
make install
Если все норм и компиляция прошла без ошибок, переходим к следующему шагу.