Makemake au e kaʻana like i koʻu ʻike no ka unuhi ʻana i ka Apache 2.4 i ka PCRE2, ʻoiai ua kākoʻo ʻo PHP 7 i ka waihona PCRE2 no ka manawa lōʻihi, akā ʻaʻole naʻe ʻo Apache Software Foundation.
ʻOiaʻiʻo, aia paha wau ma mua o ka hoʻokuʻu ʻana o Apache me ke kākoʻo PCRE2, ʻoiai ke hoʻohana nei au i nā kumu mai ka Apache git, e haʻi ana iā mākou ua hiki ke kākoʻo PCRE2 i ka hoʻokuʻu ʻana aʻe, akā no ka poʻe makemake i ke kākoʻo PCRE2 ma Apache 2.4, a ʻo wai makemake ʻole e kali i ka hoʻokuʻu ʻana ke kaʻana aku nei au i kekahi o nā ala.
Manaʻo ka ʻatikala e hōʻiliʻili ana ʻoe i nā polokalamu pono āpau mai ka code kumu, kahi papa inoa o nā polokalamu a me nā mana i ka manawa e kākau ai:
PCRE2-10.33
APR 1.7.0
APR-util 1.6.1
Apache httpd 2.4.41
KaʻAnuʻu hoʻokahi: kūkulu a hōʻuluʻulu PCRE2
E hoʻokuʻu i ka manawa o ka hoʻoiho ʻana i nā kumu mai nā kumu kumu no ka mea ua maopopo loa kēia, no laila ua wehe ʻoe i ka waihona, hele i ka waihona me nā kumu PCRE2, a holo i kēia kauoha e kākoʻo iā UTF:
./configure --prefix=/etc/webserver/pcre2-1033 --enable-pcre2-8 --enable-pcre2-16 --enable-pcre2-32 --enable-unicode
Ma ka prefix, e kuhikuhi i kou ala inā ʻaʻole ʻoe makemake e hoʻohana i ka wahi maʻamau e hoʻokomo i ka waihona:
--prefix=/ваш/путь/до библиотеки
A i ʻole, hōʻiliʻili ʻoe me ka prefix ʻole.
Hōʻike nā kauoha i koe i ka hoʻokomo ʻana i nā kākoʻo no nā poloka code PCRE 8-bit, 16-bit a me 32-bit, ma kēia ʻano ua hana ʻia ka hui me lākou.
A ʻoiaʻiʻo, hōʻuluʻulu mākou i kēia mea me ka hoʻokō sequential o nā kauoha:
make
make install
Inā maikaʻi nā mea a pau a hele ʻole ka hui ʻana me ka hala ʻole, e neʻe i ka pae aʻe.
KaʻAnuʻu ʻelua: hoʻohui i ka waihona PCRE2 iā APR
Ma muli o ka hōʻuluʻulu ʻana o Apache i nā kumuwaiwai me ka hoʻohana ʻana i ka APR, pono mākou e hoʻokomo i ka waihona i loko o APR ponoʻī, inā ʻaʻole e loaʻa nā hewa e pili ana i nā hana i ʻike ʻole ʻia ma nā kumu Apache, no ka mea, e hoʻohana ana mākou i nā hana PCRE2 hou.
E haʻalele mākou i ka manawa o ka hoʻoiho ʻana i nā kumu mai nā kumu kūhelu no ka mea maopopo loa kēia, no laila wehe ʻoe i ka waihona a hana i ka hoʻonohonoho APR:
./configure --prefix=/etc/webserver/apr-170
Ma keʻano maoli, hōʻike ʻoe i kou ala i ka prefix inā ʻaʻole ʻoe makemake e hoʻohana i ka wahi maʻamau no ka hoʻokomo ʻana i ka waihona, a inā ʻaʻole ʻoe e kuhikuhi:
--prefix=/ваш/путь/до библиотеки
Ma hope o ka hoʻopau ʻana i ka hoʻonohonoho, e hele i ka papa kuhikuhi: /etc/webserver/srcsrv/apr-1.7.0/build
A i ʻole: /kou/ala/i ka hale waihona puke/build
E huli i ka faila apr_rules.mk ma kēia papa kuhikuhi, a hoʻohui i nā laina ma ka hope kahi:
EXTRA_LIBS=-lrt -lcrypt -lpthread -ldl
Hoʻohui i ka waihona:
-lpcre2-8 -L/ваш/путь/до библиотеки pcre2/lib
E mālama a hele i ka papa kuhikuhi kumu o nā kumu APR: /kou/ala/i ka waihona.
E hōʻuluʻulu mākou i kā mākou APR i hoʻololi ʻia:
make
make install
Inā maikaʻi nā mea a pau a hele ʻole ka hui ʻana me ka hala ʻole, e neʻe i ka pae aʻe.
KaʻAnuʻu ʻekolu: kūkulu i ka APR-util no Apache mai nā kumu
Ua hoʻoiho ʻoe i kēia waihona mai ke kumu, e hele i ka waihona kumu o ka waihona i wehe ʻole ʻia me APR-util, a e hoʻokomo i kēia mau kauoha i ka manawa like:
./configure --prefix=/etc/webserver/apr-util-161 --with-apr=/ваш/путь/до библиотеки apr
make
make install
Ma keʻano maoli, hōʻike ʻoe i kou ala i ka prefix inā ʻaʻole ʻoe makemake e hoʻohana i ka wahi maʻamau no ka hoʻokomo ʻana i ka waihona, a inā ʻaʻole ʻoe e kuhikuhi:
--prefix=/ваш/путь/до библиотеки
Hoʻohui pū mākou i kā mākou APR ma aneʻi:
--with-apr=/ваш/путь/до библиотеки apr
ʻEhā: hoʻoiho i nā kumu mai Apache git e kākoʻo iā PCRE2
Mea nui: Hoʻoiho mākou i nā kumu mai ka paʻi hou loa o ka git.
Pono mākou e hoʻoiho i ʻelua kumu e like me ap_regex.h a me util_pcre.c, nā loulou ma lalo:
E hele i kāu papa kuhikuhi kumu Apache httpd a kūkulu iā Apache me kēia mau kauoha:
./configure --prefix=/etc/webserver/apache-2441 --with-apr=/ваш/путь/до библиотеки apr --with-apr-util=/ваш/путь/до библиотеки apr-util --with-pcre=/ваш/путь/до библиотеки pcre2/bin/pcre2-config
Ma keʻano maoli, hōʻike ʻoe i kou ala i ka prefix inā ʻaʻole ʻoe makemake e hoʻohana i ka wahi maʻamau no ka hoʻokomo ʻana i ka waihona, a inā ʻaʻole ʻoe e kuhikuhi:
--prefix=/ваш/путь/до Apache httpd
Hiki iā ʻoe ke kuhikuhi i nā kauoha ʻē aʻe no ke kūkulu ʻana iā Apache ma kāu manaʻo, ʻo kaʻu ʻōlelo i nā kauoha no ka hiki ʻana a i ʻole ka hoʻopau ʻana i nā modules a me nā hale waihona puke.
A laila hele mākou i kā mākou papa kuhikuhi kumu Apache httpd, loaʻa iaʻu kēia:
/etc/webserver/srcsrv/httpd-2.4.41
Hele maoli ʻoe i kāu papa kuhikuhi, e hoʻololi i ka papa kuhikuhi:
/etc/webserver/srcsrv/httpd-2.4.41/include
ʻO ka faila ap_regex.h, i hoʻoiho ʻia mai ka Apache git.
Hele pū mākou i ka papa kuhikuhi:
/etc/webserver/srcsrv/httpd-2.4.41/server
Hoʻololi mākou i ka faila util_pcre.c me ka mea i hoʻoiho ʻia mai ka Apache git
ʻO nā mea a pau i koe e hoʻohui i ka pilina PCRE2 ma Apache ponoʻī, pono ʻoe e ʻimi i ka faila ap_config_auto.h, aia ma ka papa kuhikuhi:
/etc/webserver/srcsrv/httpd-2.4.41/include
I ka hoʻomaka mua o kēia faila, e hoʻokomo i kēia mau laina:
/* Load PCRE2 */
#define HAVE_PCRE2 1
ʻAe, ua mākaukau mākou no ka manawa maoli o ka hōʻuluʻulu ʻana iā Apache httpd me ke kākoʻo PCRE2.
E hele kāua i kā mākou papa kuhikuhi kumu Apache httpd a hōʻuluʻulu i kēia ma ka hoʻokō ʻana i nā kauoha:
make
make install
I kēia manawa, inā maikaʻi nā mea a pau a me ka hewa ʻole, a laila ua ʻākoakoa ʻoe a hōʻuluʻulu ʻia ʻo Apache httpd me ke kākoʻo PCRE2, ʻo ia hoʻi nā loli maikaʻi i nā modules Apache e hoʻohana ana i nā ʻōlelo maʻamau PCRE, ʻo kekahi o kēia ʻo Module rewrite.
I ka hopena, hiki i kēia ala ke hoʻohana i ka PCRE2 ma mua o ka hoʻokuʻu ʻia ʻana mai ka Apache Software Foundation, ke manaʻolana nei au e hoʻokuʻu koke ʻia kahi mana me ke kākoʻo PCRE2.
Eia kekahi, i ka wā o ka hoʻāʻo ʻana i ka .htaccess maʻamau, ʻaʻohe hewa i loaʻa, inā he hewa kekahi, e kākau i nā manaʻo.
PS
Ua pilikia au i ke kūlana o ka hoʻohana ʻana i ʻelua mau mana like ʻole o PCRE no kaʻu waihona, a ua hoʻoholo wau e hoʻoponopono.
Source: www.habr.com