PHP 2.4 ááẠPCRE2 á
á¬ááŒáá·áºááá¯ááºááᯠá¡áá»áááºá¡áá±á¬áºááŒá¬ áá±á¬ááºáá¶á·áá±ážáá¬ážáá±á¬ááŒá±á¬áá·áº Apache 7 ááᯠPCRE2 ááá¯á· áá¬áá¬ááŒááºááá¯ááŒááºážááá¯ááºáᬠá¡ááœá±á·á¡ááŒá¯á¶ááᯠáá»áŸáá±ááá¯áá«áááºá ááá¯á·áá±á¬áº open source Apache Software Foundation ááẠááá¯áá ááá¯ááºáá±á¬ááºááá¯ááºáá±ážáá«á
áá¯ááºáá«áááºá áá»áœááºáá±á¬áº á¡áá¯ááœááºááŸááá¬ááá·áº Apache git áá²á· á¡áááºážá¡ááŒá
áºááœá±ááᯠPCRE2 á¡áá±á¬ááºá¡áá¶á·áá²á· PCRE2 áá¶á·ááá¯ážááŸá¯áá²á·á¡áá° Apache áá¯ááºáá±ááŸá¯áááá¯ááºááẠááŒá
áºááá¯ááºáá«áááºá áá«áá±ááá·áº PCRE2 á¡áá±á¬ááºá¡áá¶á·ááᯠááá¯áá»ááºáá±ááŒá®ážáá¬ážáá°ááœá±á¡ááœááºáá±á¬á· Apache 2.4 ááœááºááŸáááŒá®áž áá
á±á¬áá·áºáá»ááºáá° áááºážáááºážáá»á¬ážáá²á០áá
áºáá¯ááᯠáá»áŸáá±áá±ážááá¯ááºáá«áááºá
áá±á¬ááºážáá«ážááœáẠáááºááẠááá¯á¡ááºáá±á¬ áá±á¬á·ááºáá²ááºá¡á¬ážáá¯á¶ážááᯠá¡áááºážá¡ááŒá áºáá¯ááºá áá±á¬á·ááºáá²á á¬áááºážááŸáá·áº áá¬ážááŸááºážáá»á¬ážá á¬áááºážá០á á¯áá±á¬ááºážáá±áááºáᯠáá°ááááº-
PCRE2-10.33
á¡á±áá® áááá
APR-util 1.6.1
Apache httpd 2.4.41
á¡ááá·áºáá áº- PCRE2 ááᯠáááºáá±á¬ááºááŒá®áž á á¯á ááºážáá«á
áááºážááẠáááºááŸá¬ážááœááºážáá±á¬ááŒá±á¬áá·áº ááá¬ážáááºáááºážááŒá áºáá»á¬ážá០áááºážááŒá áºáá»á¬ážááᯠáá±á«ááºážáá¯ááºáá¯ááºááá·áºá¡áá»áááºááᯠáá»ááºááŸááºáá¬ážááá¯ááºáá¡á±á¬ááºá ááá¯á·ááŒá±á¬áá·áº áááºááẠááŸááºáááºážáá±á¬ááºážááᯠáá¯ááºááá¯ážááŒá®áž PCRE2 áááºážááŒá áºáá»á¬ážááŸáá·áºá¡áá° ááá¯ááºááœá²ááá¯á·ááœá¬ážáᬠUTF ááᯠáá¶á·ááá¯ážááẠá¡á±á¬ááºáá« command ááᯠrun ááŒáá«á áá¯á·á
./configure --prefix=/etc/webserver/pcre2-1033 --enable-pcre2-8 --enable-pcre2-16 --enable-pcre2-32 --enable-unicode
áá áºáá»á áºááá¯ááºááᯠááá·áºááœááºážááẠá á¶áááºáá±áá¬ááᯠá¡áá¯á¶ážáááŒá¯ááá¯áá«á ááŸá±á·áááºá ááá·áºáááºážááŒá±á¬ááºážááᯠáááºááŸááºáá«-
--prefix=/ваÑ/пÑÑÑ/ЎП бОблОПÑекО
ááá¯ááºááẠááŸá±á·áááºááá«áá²á· á á¯áá±á¬ááºážáá«á
áá»ááºáá±á¬á¡áááá·áºáá±á¬áºáá»á¬ážááẠ8-bitá 16-bit ááŸáá·áº 32-bit PCRE áá¯ááºáá¯ááºááœááºáá»á¬ážá¡ááœáẠáá¶á·ááá¯ážááŸá¯áá»á¬ážáá«áááºááŸá¯ááᯠááœáŸááºááŒáááºá á€áá¬ážááŸááºážááœáẠáááºážááá¯á·ááŸáá·áºá¡áá° á ááºážáá±ážááœá²ááᯠáá¯ááºáá±á¬ááºáá²á·áááºá
áá¯ááºáá«áááºáá áá»áœááºá¯ááºááá¯á·ááẠá€á¡áá¬ááᯠááá·áºáá²áá¯ááºáá±á¬ááºááá·áº command áá»á¬ážááᯠá¡áá¯á¶ážááŒá¯á á€á¡áá¬ááᯠá á¯á ááºážáááº-
make
make install
á¡á¬ážáá¯á¶ážá¡áááºááŒá±ááŒá®áž á
á¯á
ááºážááŸá¯ááŸá¬ á¡ááŸá¬ážá¡ááœááºážáááŸáááẠáá±á¬ááºáá
áºááá·áºááᯠáááºááœá¬ážáá«á
á¡ááá·áºááŸá áº- PCRE2 á á¬ááŒáá·áºááá¯ááºááᯠAPR ááá¯á· áá»áááºáááºáá«á
Apache ááẠAPR ááᯠá¡áá¯á¶ážááŒá¯á á¡áááºážá¡ááŒá áºáá»á¬ážááᯠá á¯á ááºážáá¬ážáá±á¬ááŒá±á¬áá·áºá áá»áœááºá¯ááºááá¯á·ááẠPCRE2 áá¯ááºáá±á¬ááºáá»ááºá¡áá áºáá»á¬ážááᯠá¡áá¯á¶ážááŒá¯áá±áááºááŒá áºáá±á¬ááŒá±á¬áá·áº áá»áœááºá¯ááºááá¯á·ááẠPCREXNUMX áá¯ááºáá±á¬ááºáá»ááºáá»á¬ážááᯠá¡áá¯á¶ážááŒá¯áá±áááºááŒá áºáá±á¬ááŒá±á¬áá·áº Apache ááá¯ááºááá¯ááºá á á¬ááŒáá·áºááá¯ááºááᯠAPR ááœáẠááá·áºááœááºážááẠááá¯á¡ááºáá«áááºá
áááºážááẠáááºááŸá¬ážááœááºážáááŒáá·áº ááá¬ážáááºáááºážááŒá áºáá»á¬ážá០áááºážááŒá áºáá»á¬ážááᯠáá±á«ááºážáá¯ááºáá¯ááºááá·áºá¡áá»áááºááᯠáá»ááºááŸááºáá¬ážááá¯ááºáá¡á±á¬ááºá ááá¯á·ááŒá±á¬áá·áº áááºááẠáá±á¬áºááœááºážááᯠáá¯ááºááá¯ážááŒá®áž APR ááœá²á·á ááºážááŸá¯áá¯á¶á á¶ááᯠáá¯ááºáá±á¬ááºáá²á·áááº-
./configure --prefix=/etc/webserver/apr-170
áá¯á¶ááŸááºá¡á¬ážááŒáá·áºá áááºááẠá á¬ááŒáá·áºááá¯ááºááᯠááá·áºááœááºážááŒááºážá¡ááœáẠá á¶áááºáá±áá¬ááᯠá¡áá¯á¶ážáááŒá¯ááá¯áá«áá ááá¯á·ááá¯áẠáááºááááºááŸááºáá«áá ááŸá±á·áááºááœáẠááá·áºáááºážááŒá±á¬ááºážááᯠááœáŸááºááŒáááºááŸá¬ áá¯á¶ážá á¶á¡ááá¯ááºážá
--prefix=/ваÑ/пÑÑÑ/ЎП бОблОПÑекО
ááœá²á·á ááºážááŸá¯áá¯á¶á á¶ááᯠá¡ááŒá®ážáááºááŒá®ážáá±á¬ááºá /etc/webserver/srcsrv/apr-1.7.0/build ááá¯á·ááœá¬ážáá«á
ááá¯á·ááá¯ááº: /your/path/to the library/build
á€áááºážááœáŸááºááœáẠapr_rules.mk ááá¯ááºááá¯ááŸá¬ááŒá®áž á¡áá¯á¶ážááœáẠá á¬ááŒá±á¬ááºážáá»á¬ážááá·áºáá«-
EXTRA_LIBS=-lrt -lcrypt -lpthread -ldl
á á¬ááŒáá·áºááá¯ááºááᯠáá»áááºáááºááŒááºáž-
-lpcre2-8 -L/ваÑ/пÑÑÑ/ЎП бОблОПÑекО pcre2/lib
ááááºážáááºážááŒá®áž APR áááºážááŒá áºáá»á¬ážá á¡ááŒá áºáááºážááœáŸááºááá¯á· ááœá¬ážáá«- /your/path/á á¬ááŒáá·áºááá¯ááºááá¯á· ááœá¬ážáá«á
áá»áœááºá¯ááºááá¯á·á ááŒááºáááºáá¬ážáá±á¬ APR ááᯠá á¯á ááºážááŒáá«á áá¯á·á
make
make install
á¡á¬ážáá¯á¶ážá¡áááºááŒá±ááŒá®áž á á¯á ááºážááŸá¯ááŸá¬ á¡ááŸá¬ážá¡ááœááºážáááŸáááẠáá±á¬ááºáá áºááá·áºááᯠáááºááœá¬ážáá«á
á¡ááá·áº á- á¡áááºážá¡ááŒá áºáá»á¬ážá០Apache á¡ááœáẠAPR-util ááá¯áááºáá±á¬ááºáá«á
áááºááẠá€á á¬ááŒáá·áºááá¯ááºááᯠá¡áááºážá¡ááŒá áºá០áá±á«ááºážáá¯ááºáá¯ááºááŒá®ážá APR-util ááŒáá·áº ááá¯ááºááá¯ážáá¬ážáá±á¬ ááá¯ááºááœá²á á¡ááŒá áºááá¯ááºááœá²ááá¯á· ááœá¬ážáᬠá¡á±á¬ááºáá« ááœáŸááºááŒá¬ážáá»ááºáá»á¬ážááᯠáááºááá¯áẠááá¯ááºááá·áºáá«-
./configure --prefix=/etc/webserver/apr-util-161 --with-apr=/ваÑ/пÑÑÑ/ЎП бОблОПÑекО apr
make
make install
áá¯á¶ááŸááºá¡á¬ážááŒáá·áºá áááºááẠá á¬ááŒáá·áºááá¯ááºááᯠááá·áºááœááºážááŒááºážá¡ááœáẠá á¶áááºáá±áá¬ááᯠá¡áá¯á¶ážáááŒá¯ááá¯áá«áá ááá¯á·ááá¯áẠáááºááááºááŸááºáá«áá ááŸá±á·áááºááœáẠááá·áºáááºážááŒá±á¬ááºážááᯠááœáŸááºááŒáááºááŸá¬ áá¯á¶ážá á¶á¡ááá¯ááºážá
--prefix=/ваÑ/пÑÑÑ/ЎП бОблОПÑекО
áá»áœááºá¯ááºááá¯á·á APR ááᯠá€áá±áá¬ááœááºáááºáž áá»áááºáááºáá«áááº-
--with-apr=/ваÑ/пÑÑÑ/ЎП бОблОПÑекО apr
á¡ááá·áºáá±áž- PCRE2 ááá¯áá¶á·ááá¯ážáááºá¡ááœáẠApache git ááŸáááºážááŒá áºáá»á¬ážááá¯áá±á«ááºážáá¯ááºáá¯ááºáá«á
á¡áá±ážááŒá®ážáááº- áá»áœááºá¯ááºááá¯á·ááẠáá±á¬ááºáá¯á¶ážáá¯áẠgit á០á¡áááºážá¡ááŒá áºáá»á¬ážááᯠáá±á«ááºážáá¯ááºáá¯ááºáá«áááºá
á¡á±á¬ááºáá«ááá·áºááºáá»á¬ážááŒá
áºááá·áº ap_regex.h ááŸáá·áº util_pcre.c áá²á·ááá¯á·áá±á¬ á¡áááºážá¡ááŒá
áºááŸá
áºáá¯ááᯠáá±á«ááºážáá¯ááºáá¯ááºááẠááá¯á¡ááºáááº-
ááᯠáááºá Apache httpd source directory ááá¯á· ááœá¬ážá á¡á±á¬ááºáá« command áá»á¬ážááŒáá·áº Apache ááᯠáááºáá±á¬ááºáá«á
./configure --prefix=/etc/webserver/apache-2441 --with-apr=/ваÑ/пÑÑÑ/ЎП бОблОПÑекО apr --with-apr-util=/ваÑ/пÑÑÑ/ЎП бОблОПÑекО apr-util --with-pcre=/ваÑ/пÑÑÑ/ЎП бОблОПÑекО pcre2/bin/pcre2-config
áá¯á¶ááŸááºá¡á¬ážááŒáá·áºá áááºááẠá á¬ááŒáá·áºááá¯ááºááᯠááá·áºááœááºážááŒááºážá¡ááœáẠá á¶áááºáá±áá¬ááᯠá¡áá¯á¶ážáááŒá¯ááá¯áá«áá ááá¯á·ááá¯áẠáááºááááºááŸááºáá«áá ááŸá±á·áááºááœáẠááá·áºáááºážááŒá±á¬ááºážááᯠááœáŸááºááŒáááºááŸá¬ áá¯á¶ážá á¶á¡ááá¯ááºážá
--prefix=/ваÑ/пÑÑÑ/ЎП Apache httpd
Apache áááºáá±á¬ááºááŒááºážá¡ááœáẠáá±á¬ááºááẠcommand áá»á¬ážááᯠááá·áºáá¯á¶ážááŒááºáá»ááºá¡ááá¯ááºáž áááºááŸááºááá¯ááºáááºá áá»áœááºá¯ááºááá¯ááá¯áááºááŸá¬ modules ááŸáá·áº libraries áá»á¬ážááᯠááœáá·áºááẠááá¯á·ááá¯áẠááááºááẠá¡áááá·áºáá»á¬ážááŒá áºáááºá
ááá¯á·áá±á¬áẠáá»áœááºá¯ááºááá¯á·á Apache httpd source directory ááá¯á·ááœá¬ážáá«á áá»áœááºá¯ááºááœáẠá€á¡áá¬ááŸááááº-
/etc/webserver/srcsrv/httpd-2.4.41
áááºááẠááá¬áá¡ááá¯ááºáž ááá·áºáááºážááœáŸááºááá¯á· ááœá¬ážáá«á áááºážááœáŸááºááœáẠá¡á á¬ážááá¯ážáá«á
/etc/webserver/srcsrv/httpd-2.4.41/include
Apache git á០áá±á«ááºážáá¯ááºáá¯ááºáá¬ážáá±á¬ ap_regex.h ááá¯ááºá
áá»áœááºá¯ááºááá¯á·áááºáááºáž áááºážááœáŸááºááá¯á·ááœá¬ážáááº-
/etc/webserver/srcsrv/httpd-2.4.41/server
áá»áœááºá¯ááºááá¯á·ááẠApache git ááŸáá±á«ááºážáá¯ááºáá¯ááºáá¬ážáá±á¬ááá¯ááºááŸáá·áº util_pcre.c ááá¯á¡á á¬ážááá¯ážáá«áááºá
ááá¯áá»ááºááŸááá±á¬á¡áá¬á¡á¬ážáá¯á¶ážááẠApache ááá¯ááºááá¯ááºááœáẠPCRE2 áá»áááºáááºááŸá¯ááá¯ááá·áºáááºááŒá áºáááºá áááºááẠap_config_auto.h ááá¯ááºááá¯ááŸá¬áááºááá¯á¡ááºáááºá áááºážáááºáááºážááœáŸááºááœááºáááºááŸááááº-
/etc/webserver/srcsrv/httpd-2.4.41/include
á€ááá¯ááºáá¡á ááœááºá á¡á±á¬ááºáá«á á¬ááŒá±á¬ááºážáá»á¬ážááᯠááá·áºááœááºážáá«á
/* Load PCRE2 */
#define HAVE_PCRE2 1
áá²á ááᯠáá»áœááºá¯ááºááá¯á·ááẠPCRE2 áá¶á·ááá¯ážááŸá¯ááŒáá·áº Apache httpd ááᯠááŒá¯á
á¯ááá·áº áááá·áºá¡ááá¯ááºá¡ááá·áºá¡ááœáẠá¡áááºááá·áºááŒá
áºáá±áá«ááŒá®á
áá»áœááºá¯ááºááá¯á·á Apache httpd á¡áááºážá¡ááŒá
áºáááºážááœáŸááºááá¯á· ááœá¬ážá á¡áááá·áºáá»á¬ážááᯠáááºááá¯ááºáá¯ááºáá±á¬ááºááŒááºážááŒáá·áº áááºážááᯠá
á¯á
ááºážááŒáá«á
áá¯á·á
make
make install
ááá¯á á¡á¬ážáá¯á¶ážáá±á¬ááºážááœááºááŒá®áž á¡ááŸá¬ážá¡ááœááºážáááŸááá«áá PCRE2 áá¶á·ááá¯ážááŸá¯ááŒáá·áº Apache httpd ááᯠá á¯á ááºážááŒá®áž ááŒá¯á á¯ááá±áááá·áºáááºá ááá¯ááá¯áááºááŸá¬ PCRE áá¯á¶ááŸááºá¡áá¯á¶ážá¡ááŸá¯ááºážáá»á¬ážááá¯áá¯á¶ážááá·áº Apache module áá»á¬ážááœáẠá¡ááŒá¯ááá±á¬áá±á¬ááºáá±á¬ááŒá±á¬ááºážáá²ááŸá¯áá»á¬ážááᯠááá¯ááá¯áááºá áááºážááá¯á·áá²ááŸáá áºáá¯ááŸá¬ Module rewrite ááŒá áºáááºá
áááá¯á¶ážáá»á¯ááºá¡á¬ážááŒáá·áºá á€áááºážáááºážááẠApache Software Foundation ááŸááá¬ážáááºááá¯ááºááŒááºáá® PCRE2 ááá¯á¡áá¯á¶ážááŒá¯áááºááŒá áºááá¯ááºá á±áááºá PCRE2 áá¶á·ááá¯ážááŸá¯áá«ááŸááá±á¬áá¬ážááŸááºážááá¯áááŒá¬áá®ááœááºááŸááááá·áºáááºáá¯áá»áŸá±á¬áºááá·áºáá«áááºá
ááá¯á·á¡ááŒááºá á ᶠ.htaccess ááᯠá ááºážáááºá ááºááœáẠá¡ááŸá¬ážá¡ááœááºážáá»á¬áž áááŒá áºáá±á«áºáá²á·áá«á áááºáá°áááᯠá¡ááŸá¬ážá¡ááœááºážáá»á¬ážááŸááá«á ááŸááºáá»ááºáá»á¬ážááœáẠáá±ážáá±ážáá«á
PS
áá»áœááºá¯ááºá stack á¡ááœáẠPCRE áá¬ážááŸááºážááŸá
áºáá»áá¯ážááᯠá¡áá¯á¶ážááŒá¯áááá·áº á¡ááŒá±á¡áá±ááŒá±á¬áá·áº á¡áááºážááẠá
áááºááŸá¯ááºáá²á·áááŒá®áž ááŒá¯ááŒááºááẠáá¯á¶ážááŒááºáá²á·áááºá
source: www.habr.com