Ngingathanda ukwabelana ngolwazi lwami lokuhumusha i-Apache 2.4 kuya ku-PCRE2, njengoba ngisho ne-PHP 7 iye yasekela umtapo wezincwadi we-PCRE2 isikhathi eside, kodwa umthombo ovulekile we-Apache Software Foundation namanje awusekeli.
Vele, manje cishe ngingaphambi kokukhululwa kwe-Apache ngokusekelwa kwe-PCRE2, njengoba ngisebenzisa imithombo evela ku-Apache git, esitshela ukuthi ukusekelwa kwe-PCRE2 sekuvele kungenzeka ekukhululweni okulandelayo, kodwa kulabo abafuna ukusekelwa kwe-PCRE2 I-Apache 2.4, futhi abangafuni ukulinda ukukhululwa ngihlanganyela enye yezindlela.
I-athikili ithatha ukuthi uqoqa yonke isoftware edingekayo kusuka kukhodi yomthombo, uhlu lwesoftware nezinguqulo ngesikhathi sokubhala:
PCRE2-10.33
Ephreli 1.7.0
I-APR-ukusetshenziswa 1.6.1
I-Apache httpd 2.4.41
Isinyathelo sokuqala: yakha futhi uhlanganise i-PCRE2
Ake seqe isikhathi sokulanda imithombo emithonjeni esemthethweni njengoba lokhu kusobala kakhulu, ngakho-ke usukhiphe ingobo yomlando, uye kufolda enemithombo ye-PCRE2, bese uqhuba umyalo olandelayo ukuze usekele i-UTF:
./configure --prefix=/etc/webserver/pcre2-1033 --enable-pcre2-8 --enable-pcre2-16 --enable-pcre2-32 --enable-unicode
Cacisa indlela yakho kusiqalo uma ungafuni ukusebenzisa indawo ejwayelekile ukufaka umtapo wolwazi:
--prefix=/Π²Π°Ρ/ΠΏΡΡΡ/Π΄ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ
Uma kungenjalo, uqoqa ngaphandle kwesiqalo.
Imiyalo esele ikhombisa ukufakwa kwezisekelo zamabhulokhi ekhodi engu-8-bit, 16-bit kanye ne-32-bit PCRE, kule nguqulo umhlangano wenziwa ngawo.
Futhi-ke, sihlanganisa le nto sisebenzisa ukulandelana kokulandelana kwemiyalo:
make
make install
Uma konke kuhamba kahle futhi ukuhlanganiswa kuhambe ngaphandle kwamaphutha, dlulela esinyathelweni esilandelayo.
Isinyathelo sesibili: xhuma umtapo wezincwadi we-PCRE2 ku-APR
Njengoba i-Apache ihlanganisa imithombo isebenzisa i-APR, sidinga ukufaka umtapo wezincwadi ku-APR ngokwayo, ngaphandle kwalokho kungase kube namaphutha mayelana nemisebenzi engaziwa emithonjeni ye-Apache, ngoba sizobe sisebenzisa imisebenzi emisha ye-PCRE2.
Masishiye isikhathi sokulanda imithombo emithonjeni esemthethweni njengoba lokhu kubonakala kakhulu, ngakho-ke ukhiphe ingobo yomlando futhi wenza ukucushwa kwe-APR:
./configure --prefix=/etc/webserver/apr-170
Ngokwemvelo, ubonisa indlela yakho kusiqalo uma ungafuni ukusebenzisa indawo ejwayelekile yokufaka umtapo wezincwadi, noma uma ungacacisi:
--prefix=/Π²Π°Ρ/ΠΏΡΡΡ/Π΄ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ
Ngemva kokuqeda ukucushwa, iya kunkomba: /etc/webserver/srcsrv/apr-1.7.0/build
Noma: /your/path/to the library/build
Thola ifayela elithi apr_rules.mk kulolu hlu lwemibhalo, bese wengeza imigqa ekugcineni lapho:
EXTRA_LIBS=-lrt -lcrypt -lpthread -ldl
Ixhuma ilabhulali:
-lpcre2-8 -L/Π²Π°Ρ/ΠΏΡΡΡ/Π΄ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ pcre2/lib
Londoloza futhi uye kumkhombandlela wezimpande wemithombo ye-APR: /yakho/indlela/emtatsheni wezincwadi.
Masihlanganise i-APR yethu eshintshiwe:
make
make install
Uma konke kuhamba kahle futhi ukuhlanganiswa kuhambe ngaphandle kwamaphutha, dlulela esinyathelweni esilandelayo.
Isinyathelo sesithathu: yakha i-APR-util ye-Apache kusuka emithonjeni
Ulande lo mtapo emthonjeni, hamba kufolda yempande yengobo yomlando engapakishiwe nge-APR-util, bese ufaka imiyalo elandelayo ngokulandelana:
./configure --prefix=/etc/webserver/apr-util-161 --with-apr=/Π²Π°Ρ/ΠΏΡΡΡ/Π΄ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ apr
make
make install
Ngokwemvelo, ubonisa indlela yakho kusiqalo uma ungafuni ukusebenzisa indawo ejwayelekile yokufaka umtapo wezincwadi, noma uma ungacacisi:
--prefix=/Π²Π°Ρ/ΠΏΡΡΡ/Π΄ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ
Futhi sixhuma i-APR yethu lapha:
--with-apr=/Π²Π°Ρ/ΠΏΡΡΡ/Π΄ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ apr
Isinyathelo sesine: landa imithombo evela ku-Apache git ukuze usekele i-PCRE2
Okubalulekile: Silanda imithombo kusukela kunguqulo yakamuva ye-git.
Sidinga ukulanda imithombo emibili efana ne-ap_regex.h kanye ne-util_pcre.c, izixhumanisi ezingezansi:
Manje hamba kumkhombandlela wakho womthombo we-Apache httpd futhi wakhe i-Apache ngemiyalo elandelayo:
./configure --prefix=/etc/webserver/apache-2441 --with-apr=/Π²Π°Ρ/ΠΏΡΡΡ/Π΄ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ apr --with-apr-util=/Π²Π°Ρ/ΠΏΡΡΡ/Π΄ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ apr-util --with-pcre=/Π²Π°Ρ/ΠΏΡΡΡ/Π΄ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ pcre2/bin/pcre2-config
Ngokwemvelo, ubonisa indlela yakho kusiqalo uma ungafuni ukusebenzisa indawo ejwayelekile yokufaka umtapo wezincwadi, noma uma ungacacisi:
--prefix=/Π²Π°Ρ/ΠΏΡΡΡ/Π΄ΠΎ Apache httpd
Ungaphinda ucacise imiyalo eyengeziwe yokwakha i-Apache ngokubona kwakho, ngisho imiyalo yokuvula noma ukukhubaza amamojula nemitapo yolwazi.
Okulandelayo siya kumkhombandlela wethu womthombo we-Apache httpd, nginalokhu:
/etc/webserver/srcsrv/httpd-2.4.41
Ngokwemvelo uya kuhla lwemibhalo yakho, buyisela ohlwini lwemibhalo:
/etc/webserver/srcsrv/httpd-2.4.41/include
Ifayela elithi ap_regex.h, esililande ku-Apache git.
Futhi siya kuhla lwemibhalo:
/etc/webserver/srcsrv/httpd-2.4.41/server
Sishintsha ifayela elithi util_pcre.c ngaleli esililande ku-Apache git
Manje okusele nje ukwengeza uxhumano lwe-PCRE2 ku-Apache ngokwayo, udinga ukuthola ifayela ap_config_auto.h, litholakala kuhlu lwemibhalo:
/etc/webserver/srcsrv/httpd-2.4.41/include
Ekuqaleni kwaleli fayela, faka imigqa elandelayo:
/* Load PCRE2 */
#define HAVE_PCRE2 1
Hhayi-ke, manje sesilungele umzuzu wangempela wokuhlanganisa i-Apache httpd ngokusekelwa kwe-PCRE2.
Ake siye kumkhombandlela wethu womthombo we-Apache httpd futhi sihlanganise lokhu ngokukhipha imiyalo ngokulandelana:
make
make install
Manje, uma konke kuhambe kahle futhi ngaphandle kwamaphutha, lapho-ke uzobe usuhlanganise futhi wahlanganisa i-Apache httpd ngokusekelwa kwe-PCRE2, okusho izinguquko ezinhle kumamojula we-Apache asebenzisa izinkulumo ezivamile ze-PCRE, enye yazo i-Module bhala kabusha.
Sengiphetha, le ndlela yenza kube nokwenzeka ukusebenzisa i-PCRE2 ngaphambi kokukhululwa okusemthethweni kwe-Apache Software Foundation, ngithemba ukuthi inguqulo enokusekelwa kwe-PCRE2 izokhishwa maduze.
Futhi, ngesikhathi sokuhlolwa kwe-.htaccess evamile, awekho amaphutha enzeke, uma kukhona amaphutha, bhala kumazwana.
PS
Ngidideke kancane isimo sokusebenzisa izinguqulo ezimbili ezihlukene ze-PCRE kusitaki sami, futhi nganquma ukusilungisa.
Source: www.habr.com