Uyenza njani inkxaso yePCRE2 yeApache 2.4

Ndingathanda ukwabelana ngamava am okuguqulela i-Apache 2.4 ukuya kwi-PCRE2, kuba i-PHP 7 ixhase ilayibrari ye-PCRE2 ixesha elide, kodwa umthombo ovulekileyo we-Apache Software Foundation awukakwenzi.
Ewe, ngoku ndiphambi kokukhululwa kwe-Apache ngenkxaso ye-PCRE2, kuba ndisebenzisa imithombo evela kwi-Apache git, esixelela ukuba inkxaso ye-PCRE2 sele inokwenzeka kukhupho olulandelayo, kodwa kwabo sele befuna inkxaso ye-PCRE2 I-Apache 2.4, kwaye ngubani ongafuni ukulinda ukukhululwa ndabelana ngenye yeendlela.

Inqaku lithatha ukuba uqokelela yonke isoftware eyimfuneko kwikhowudi yomthombo, uluhlu lwesoftware kunye neenguqulelo ngexesha lokubhala:

PCRE2-10.33
Epreli 1.7.0
APR-ukusetyenziswa 1.6.1
Apache httpd 2.4.41

Inyathelo lokuqala: yakha kwaye uqokelele iPCRE2

Masishiye umzuzu wokukhuphela imithombo evela kwimithombo esemthethweni kuba oku kucace kakhulu, ke ngoko ukhuphe i-archive, yiya kwifolda enemithombo yePCRE2, kwaye usebenzise lo myalelo ulandelayo ukuxhasa i-UTF:

./configure --prefix=/etc/webserver/pcre2-1033 --enable-pcre2-8 --enable-pcre2-16 --enable-pcre2-32 --enable-unicode

Chaza umendo wakho kwisimaphambili ukuba awufuni ukusebenzisa indawo eqhelekileyo ukuhlohla ithala leencwadi:

--prefix=/ваш/ΠΏΡƒΡ‚ΡŒ/Π΄ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ

Ngaphandle koko, uqokelela ngaphandle kwesimaphambili.

Imiyalelo eseleyo ibonisa ukubandakanywa kwezixhaso ze-8-bit, i-16-bit kunye ne-32-bit ye-PCRE iibhloko zekhowudi, kule nguqulo indibano yenziwa kunye nabo.

Kwaye kunjalo, siqulunqa le nto sisebenzisa ulandelelwano lwemiyalelo:

make
make install

Ukuba yonke into ilungile kwaye ukuhlanganiswa kuhambe ngaphandle kweempazamo, dlulela kwinyathelo elilandelayo.

Inyathelo lesibini: qhagamshela ithala leencwadi lePCRE2 kwi-APR

Ekubeni i-Apache iqulunqa imithombo isebenzisa i-APR, kufuneka sibandakanye ilayibrari kwi-APR ngokwayo, ngaphandle koko kunokubakho iimpazamo malunga nemisebenzi engaziwayo kwimithombo ye-Apache, kuba siya kusebenzisa imisebenzi emitsha ye-PCRE2.

Masishiye umzuzu wokukhuphela imithombo evela kwimithombo esemthethweni kuba oku kucace kakhulu, ke ngoko ukhuphe ugcino kwaye wenza uqwalaselo lwe-APR:

./configure --prefix=/etc/webserver/apr-170

Ngokwendalo, ubonisa umendo wakho kwisimaphambili ukuba awufuni ukusebenzisa indawo eqhelekileyo yokuhlohla ithala leencwadi, okanye ukuba awukhankanyi:

--prefix=/ваш/ΠΏΡƒΡ‚ΡŒ/Π΄ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ

Emva kokugqiba uqwalaselo, yiya kuluhlu: /etc/webserver/srcsrv/apr-1.7.0/build

Okanye: /yakho/indlela/iya kwithala leencwadi/yakha

Fumana ifayile apr_rules.mk kolu lawulo, kwaye wongeze imigca ekupheleni apho:

EXTRA_LIBS=-lrt -lcrypt  -lpthread -ldl

Ukuqhagamshela ithala leencwadi:

-lpcre2-8 -L/ваш/ΠΏΡƒΡ‚ΡŒ/Π΄ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ pcre2/lib

Gcina kwaye uye kulawulo lweengcambu zemithombo ye-APR: /yakho/indlela/kwithala leencwadi.

Masiqulunqe i-APR yethu elungisiweyo:

make
make install

Ukuba yonke into ilungile kwaye ukuhlanganiswa kuhambe ngaphandle kweempazamo, dlulela kwinyathelo elilandelayo.

Inyathelo lesithathu: yakha i-APR-util ye-Apache evela kwimithombo

Ukhuphele eli thala leencwadi kumthombo, yiya kwingcambu yogcino lwefayile olungapakishwanga nge APR-usetyenziso, kwaye ngenisa le miyalelo ilandelayo ngokulandelelanayo:

./configure --prefix=/etc/webserver/apr-util-161 --with-apr=/ваш/ΠΏΡƒΡ‚ΡŒ/Π΄ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ apr
make
make install

Ngokwendalo, ubonisa umendo wakho kwisimaphambili ukuba awufuni ukusebenzisa indawo eqhelekileyo yokuhlohla ithala leencwadi, okanye ukuba awukhankanyi:

--prefix=/ваш/ΠΏΡƒΡ‚ΡŒ/Π΄ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ

Sikwadibanisa i-APR yethu apha:

--with-apr=/ваш/ΠΏΡƒΡ‚ΡŒ/Π΄ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ apr

Inyathelo lesine: Khuphela imithombo evela kwi-Apache git ukuxhasa i-PCRE2

Kubalulekile: Sikhuphela imithombo kuhlelo lwamva nje lwegit.

Kufuneka sikhuphele imithombo emibini efana ne-ap_regex.h kunye ne-util_pcre.c, amakhonkco angezantsi:
ap_regex.h
util_pcre.c

Ngoku yiya kumthombo wakho weApache httpd kwaye wakhe iApache ngale miyalelo ilandelayo:

./configure --prefix=/etc/webserver/apache-2441 --with-apr=/ваш/ΠΏΡƒΡ‚ΡŒ/Π΄ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ apr --with-apr-util=/ваш/ΠΏΡƒΡ‚ΡŒ/Π΄ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ apr-util --with-pcre=/ваш/ΠΏΡƒΡ‚ΡŒ/Π΄ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ pcre2/bin/pcre2-config

Ngokwendalo, ubonisa umendo wakho kwisimaphambili ukuba awufuni ukusebenzisa indawo eqhelekileyo yokuhlohla ithala leencwadi, okanye ukuba awukhankanyi:

--prefix=/ваш/ΠΏΡƒΡ‚ΡŒ/Π΄ΠΎ Apache httpd

Ungakhankanya imiyalelo eyongezelelweyo yokwakha iApache ngokwengqiqo yakho, ndithetha imiyalelo yokwenza okanye ukukhubaza iimodyuli kunye namathala eencwadi.

Okulandelayo siya kwi-Apache httpd yethu yomthombo weefayili, ndinale nto:

/etc/webserver/srcsrv/httpd-2.4.41

Ngokwendalo uya kulawulo lwakho, buyisela kuluhlu:

/etc/webserver/srcsrv/httpd-2.4.41/include

Ifayile ap_regex.h, esiyikhuphele kwi-Apache git.

Kwakhona siya kuluhlu:

/etc/webserver/srcsrv/httpd-2.4.41/server

Sibuyisela ifayile util_pcre.c kunye nale siyikhuphele kwi-Apache git

Ngoku ekuphela kwento eseleyo kukongeza uqhagamshelo lwePCRE2 kwiApache ngokwayo, kufuneka ufumane ifayile ap_config_auto.h, ibekwe kulawulo:

/etc/webserver/srcsrv/httpd-2.4.41/include

Ekuqaleni kwale fayile, faka le migca ilandelayo:

/* Load PCRE2 */
#define HAVE_PCRE2 1

Ewe, ngoku silungele umzuzu wokwenyani wokuqulunqa i-Apache httpd ngenkxaso ye-PCRE2.
Makhe siye kwi-Apache yethu yemvelaphi ye-httpd kwaye sihlanganise oku ngokwenza ngokulandelelana imiyalelo:

make
make install

Ngoku, ukuba yonke into ihambe kakuhle kwaye ngaphandle kweempazamo, ngoko uya kube uqokelele kwaye uqokelele i-Apache httpd ngenkxaso ye-PCRE2, oku kuthetha ukuba utshintsho oluhle kwiimodyuli ze-Apache ezisebenzisa i-PCRE iintetho eziqhelekileyo, enye yezi yiModyuli bhala kwakhona.

Ekugqibeleni, le ndlela yenza kube lula ukusebenzisa i-PCRE2 ngaphambi kokukhululwa ngokusemthethweni kwi-Apache Software Foundation, ndiyathemba ukuba inguqu ene-PCRE2 inkxaso iya kukhutshwa kungekudala.

Kwakhona, ngexesha lokuvavanya umgangatho .htaccess, akukho mpazamo eyenzekayo, ukuba nabani na uneziphoso, bhala kwizimvo.

PS

Ndabhideka kancinane yimeko yokusebenzisa iinguqulelo ezimbini ezahlukeneyo ze-PCRE kwi-stack yam, kwaye ndagqiba ekubeni ndiyilungise.

umthombo: www.habr.com

Yongeza izimvo