Ndikufuna kugawana zomwe ndakumana nazo pakumasulira Apache 2.4 ku PCRE2, popeza ngakhale PHP 7 yathandizira laibulale ya PCRE2 kwa nthawi yayitali, koma gwero lotseguka la Apache Software Foundation silitero.
Zachidziwikire, tsopano ndili patsogolo pa kumasulidwa kwa Apache ndi chithandizo cha PCRE2, popeza ndikugwiritsa ntchito magwero a Apache git, omwe amatiuza kuti chithandizo cha PCRE2 ndi chotheka kale pakumasulidwa kotsatira, koma kwa iwo omwe akufuna kale thandizo la PCRE2. Apache 2.4, ndipo omwe safuna kudikirira kumasulidwa ndimagawana njira imodzi.
Nkhaniyi ikuganiza kuti mukusonkhanitsa mapulogalamu onse ofunikira kuchokera ku code code, mndandanda wa mapulogalamu ndi mitundu panthawi yolemba:
PCRE2-10.33
APR 1.7.0
APR-ntchito 1.6.1
Apache httpd 2.4.41
Khwerero 2: Pangani ndikuphatikiza PCREXNUMX
Tiyeni tisiye mphindi yotsitsa magwero kuchokera kumagwero ovomerezeka chifukwa izi ndizodziwikiratu, ndiye kuti mwatulutsa zakale, pitani kufoda ndi magwero a PCRE2, ndikuyendetsa lamulo ili kuti muthandizire UTF:
./configure --prefix=/etc/webserver/pcre2-1033 --enable-pcre2-8 --enable-pcre2-16 --enable-pcre2-32 --enable-unicode
Tchulani njira yanu pachithunzichi ngati simukufuna kugwiritsa ntchito malo okhazikika kuti muyike laibulale:
--prefix=/Π²Π°Ρ/ΠΏΡΡΡ/Π΄ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ
Apo ayi, mumasonkhanitsa popanda prefix.
Malamulo otsalawo akuwonetsa kuphatikizidwa kwa zothandizira za 8-bit, 16-bit ndi 32-bit PCRE code blocks, mu mtundu uwu msonkhano udachitika nawo.
Ndipo, ndithudi, timapanga chinthu ichi pogwiritsa ntchito malamulo otsatizana:
make
make install
Ngati zonse zili bwino ndipo kusonkhanitsa kunapita popanda zolakwika, pitirirani ku sitepe yotsatira.
Khwerero 2: kulumikiza laibulale ya PCREXNUMX ku APR
Popeza Apache amaphatikiza magwero pogwiritsa ntchito APR, tiyenera kuphatikiza laibulale mu APR yokha, apo ayi pangakhale zolakwika pazantchito zosadziwika mu magwero a Apache, chifukwa tikhala tikugwiritsa ntchito PCRE2 zatsopano.
Tisiyiretu mphindi yotsitsa magwero kuchokera kuzinthu zovomerezeka chifukwa izi ndizodziwikiratu, kotero mudatulutsa zakale ndikusintha ma APR:
./configure --prefix=/etc/webserver/apr-170
Mwachilengedwe, mumawonetsa njira yanu pachimake ngati simukufuna kugwiritsa ntchito malo okhazikika pakuyika laibulale, kapena ngati simunatchule:
--prefix=/Π²Π°Ρ/ΠΏΡΡΡ/Π΄ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ
Mukamaliza kasinthidwe, pitani ku chikwatu: /etc/webserver/srcsrv/apr-1.7.0/build
Kapena: /your/path/to the library/build
Pezani fayilo ya apr_rules.mk mu bukhuli, ndi kuwonjezera mizere kumapeto komwe:
EXTRA_LIBS=-lrt -lcrypt -lpthread -ldl
Kulumikiza laibulale:
-lpcre2-8 -L/Π²Π°Ρ/ΠΏΡΡΡ/Π΄ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ pcre2/lib
Sungani ndikupita ku chikwatu cha magwero a APR: /your/path/to laibulale.
Tiyeni tipange APR yathu yosinthidwa:
make
make install
Ngati zonse zili bwino ndipo kusonkhanitsa kunapita popanda zolakwika, pitirirani ku sitepe yotsatira.
Khwerero XNUMX: pangani APR-til ya Apache kuchokera kumagwero
Mwatsitsa laibulaleyi kuchokera kochokera, pitani ku chikwatu chazosungidwa zosapakidwa ndi APR-util, ndikulowetsani malamulo otsatirawa motsatizana:
./configure --prefix=/etc/webserver/apr-util-161 --with-apr=/Π²Π°Ρ/ΠΏΡΡΡ/Π΄ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ apr
make
make install
Mwachilengedwe, mumawonetsa njira yanu pachimake ngati simukufuna kugwiritsa ntchito malo okhazikika pakuyika laibulale, kapena ngati simunatchule:
--prefix=/Π²Π°Ρ/ΠΏΡΡΡ/Π΄ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ
Timalumikizanso APR yathu apa:
--with-apr=/Π²Π°Ρ/ΠΏΡΡΡ/Π΄ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ apr
Khwerero 2: Tsitsani magwero kuchokera ku Apache git kuti muthandizire PCREXNUMX
Chofunika: Timatsitsa zoyambira kuchokera ku mtundu waposachedwa wa git.
Tiyenera kutsitsa magawo awiri monga ap_regex.h ndi util_pcre.c, maulalo pansipa:
Tsopano pitani ku chikwatu chanu cha Apache httpd ndikupanga Apache ndi malamulo awa:
./configure --prefix=/etc/webserver/apache-2441 --with-apr=/Π²Π°Ρ/ΠΏΡΡΡ/Π΄ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ apr --with-apr-util=/Π²Π°Ρ/ΠΏΡΡΡ/Π΄ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ apr-util --with-pcre=/Π²Π°Ρ/ΠΏΡΡΡ/Π΄ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ pcre2/bin/pcre2-config
Mwachilengedwe, mumawonetsa njira yanu pachimake ngati simukufuna kugwiritsa ntchito malo okhazikika pakuyika laibulale, kapena ngati simunatchule:
--prefix=/Π²Π°Ρ/ΠΏΡΡΡ/Π΄ΠΎ Apache httpd
Mutha kutchulanso malamulo owonjezera omanga Apache mwakufuna kwanu, ndikutanthauza malamulo oti athe kuletsa kapena kuletsa ma module ndi malaibulale.
Kenako timapita ku chikwatu chathu cha Apache httpd, ndili ndi izi:
/etc/webserver/srcsrv/httpd-2.4.41
Mwachibadwa mumapita ku chikwatu chanu, sinthani m'ndandanda:
/etc/webserver/srcsrv/httpd-2.4.41/include
Fayilo ap_regex.h, yomwe tidatsitsa kuchokera ku Apache git.
Timapitanso ku chikwatu:
/etc/webserver/srcsrv/httpd-2.4.41/server
Timalowetsa fayiloyo util_pcre.c ndi yomwe tidatsitsa kuchokera ku Apache git
Tsopano zomwe zatsala ndikuwonjezera kulumikizana kwa PCRE2 mu Apache yokha, muyenera kupeza fayilo ap_config_auto.h, yomwe ili m'ndandanda:
/etc/webserver/srcsrv/httpd-2.4.41/include
Kumayambiriro kwenikweni kwa fayiloyi, ikani mizere iyi:
/* Load PCRE2 */
#define HAVE_PCRE2 1
Chabwino, tsopano takonzekera mphindi yeniyeni yolemba Apache httpd ndi chithandizo cha PCRE2.
Tiyeni tipite ku chikwatu chathu cha Apache httpd ndikuphatikiza izi potsatira malamulowo:
make
make install
Tsopano, ngati zonse zidayenda bwino komanso popanda zolakwika, ndiye kuti mwasonkhanitsa ndikuphatikiza Apache httpd ndi chithandizo cha PCRE2, zomwe zikutanthauza kusintha kwa ma modules a Apache omwe amagwiritsa ntchito PCRE nthawi zonse, imodzi mwa izi ndikulembanso Module.
Pomaliza, njirayi imapangitsa kuti agwiritse ntchito PCRE2 asanatulutsidwe mwalamulo ku Apache Software Foundation, ndikuyembekeza kuti mtundu womwe uli ndi chithandizo cha PCRE2 udzatulutsidwa posachedwa.
Komanso, panthawi yoyezetsa .htaccess, palibe zolakwika zomwe zinachitika, ngati wina ali ndi zolakwika, lembani mu ndemanga.
PS
Ndinasokonezeka pang'ono ndikugwiritsa ntchito mitundu iwiri yosiyana ya PCRE pamtengo wanga, ndipo ndinaganiza zokonza.
Source: www.habr.com