Yuav ua li cas kom PCRE2 txhawb rau Apache 2.4

Kuv xav qhia kuv qhov kev paub ntawm kev txhais Apache 2.4 rau PCRE2, txij li txawm tias PHP 7 tau txhawb nqa PCRE2 lub tsev qiv ntawv tau ntev, tab sis qhov qhib Apache Software Foundation tseem tsis tau.
Tau kawg, kuv tam sim no tej zaum ua ntej ntawm Apache tso tawm nrog PCRE2 kev txhawb nqa, txij li kuv tab tom siv cov peev txheej los ntawm Apache git, uas qhia peb tias kev txhawb nqa PCRE2 twb tau ua tiav hauv kev tso tawm tom ntej, tab sis rau cov neeg uas twb xav tau kev txhawb nqa PCRE2 hauv Apache 2.4, thiab leej twg tsis xav tos tso kuv qhia ib txoj hauv kev.

Kab lus xav tias koj tab tom sau tag nrho cov software tsim nyog los ntawm qhov chaws, ib daim ntawv teev cov software thiab versions thaum lub sijhawm sau ntawv:

PCRE2-10.33
Peb Hlis 1.7.0
APR-util 1.6.1
Apache httpd 2.4.41

Kauj ruam 2: tsim thiab sau PCREXNUMX

Cia peb hla lub sijhawm rub tawm cov peev txheej los ntawm cov ntaub ntawv nom tswv vim qhov no pom tseeb dhau lawm, yog li koj tau nthuav tawm cov ntaub ntawv khaws tseg, mus rau lub nplaub tshev nrog PCRE2 qhov chaw, thiab khiav cov lus txib hauv qab no los txhawb UTF:

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

Qhia koj txoj hauv kev ua ntej yog tias koj tsis xav siv tus qauv qhov chaw los teeb tsa lub tsev qiv ntawv:

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

Txwv tsis pub, koj sau tsis muaj prefix.

Cov lus txib ntxiv qhia txog kev suav nrog kev txhawb nqa rau 8-ntsis, 16-ntsis thiab 32-ntsis PCRE code blocks, hauv qhov version no lub rooj sib txoos tau ua nrog lawv.

Thiab tau kawg, peb suav cov khoom no siv kev ua tiav ntawm cov lus txib:

make
make install

Yog tias txhua yam zoo thiab muab tso ua ke mus yam tsis muaj qhov yuam kev, txav mus rau kauj ruam tom ntej.

Kauj Ruam 2: Txuas lub tsev qiv ntawv PCREXNUMX rau APR

Txij li Apache suav sau cov peev txheej siv APR, peb yuav tsum suav nrog lub tsev qiv ntawv hauv APR nws tus kheej, txwv tsis pub yuav muaj qhov yuam kev txog kev ua haujlwm tsis paub hauv Apache qhov chaw, vim tias peb yuav siv cov haujlwm tshiab PCRE2.

Cia peb tshem tawm lub sijhawm rub tawm los ntawm cov chaw ua haujlwm vim qhov no pom tseeb dhau lawm, yog li koj tau ntim cov ntaub ntawv thiab ua tiav APR teeb tsa:

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

Lawm, koj qhia koj txoj hauv kev ua ntej yog tias koj tsis xav siv tus qauv qhov chaw rau kev txhim kho lub tsev qiv ntawv, lossis yog tias koj tsis qhia meej:

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

Tom qab ua tiav qhov kev teeb tsa, mus rau cov npe: /etc/webserver/srcsrv/apr-1.7.0/build

Los yog: /your/path/to the library/build

Nrhiav apr_rules.mk cov ntaub ntawv hauv phau ntawv no, thiab ntxiv cov kab ntawm qhov kawg qhov twg:

EXTRA_LIBS=-lrt -lcrypt  -lpthread -ldl

Txuas lub tsev qiv ntawv:

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

Txuag thiab mus rau hauv lub hauv paus directory ntawm APR qhov chaw: / koj / txoj kev / mus rau lub tsev qiv ntawv.

Cia peb suav peb qhov hloov kho APR:

make
make install

Yog tias txhua yam zoo thiab muab tso ua ke mus yam tsis muaj qhov yuam kev, txav mus rau kauj ruam tom ntej.

Kauj ruam XNUMX: tsim APR-util rau Apache los ntawm qhov chaw

Koj tau rub tawm lub tsev qiv ntawv no los ntawm qhov chaw, mus rau hauv lub hauv paus nplaub tshev ntawm cov ntaub ntawv tsis tau ntim nrog APR-util, thiab nkag mus rau cov lus txib nram qab no ua ntu zus:

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

Lawm, koj qhia koj txoj hauv kev ua ntej yog tias koj tsis xav siv tus qauv qhov chaw rau kev txhim kho lub tsev qiv ntawv, lossis yog tias koj tsis qhia meej:

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

Peb kuj txuas peb APR ntawm no:

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

Kauj ruam plaub: download tau qhov chaw ntawm Apache git los txhawb PCRE2

Ib qho tseem ceeb: Peb rub tawm cov peev txheej los ntawm cov ntawv tshaj tawm tshiab ntawm git.

Peb yuav tsum rub tawm ob qhov chaw xws li ap_regex.h thiab util_pcre.c, txuas hauv qab no:
ap_regex.h
util_pcre.c

Tam sim no mus rau koj Apache httpd qhov chaw directory thiab tsim Apache nrog cov lus txib hauv qab no:

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

Lawm, koj qhia koj txoj hauv kev ua ntej yog tias koj tsis xav siv tus qauv qhov chaw rau kev txhim kho lub tsev qiv ntawv, lossis yog tias koj tsis qhia meej:

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

Koj tuaj yeem hais qhia cov lus txib ntxiv rau kev tsim Apache ntawm koj qhov kev txiav txim siab, Kuv txhais tau tias cov lus txib rau kev ua haujlwm lossis tsis siv cov modules thiab cov tsev qiv ntawv.

Tom ntej no peb mus rau peb Apache httpd qhov chaw directory, kuv muaj qhov no:

/etc/webserver/srcsrv/httpd-2.4.41

Koj ib txwm mus rau koj phau ntawv qhia, hloov hauv phau ntawv qhia:

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

Cov ntaub ntawv ap_regex.h, uas peb rub tawm los ntawm Apache git.

Peb kuj mus rau lub directory:

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

Peb hloov cov ntaub ntawv util_pcre.c nrog rau qhov peb rub tawm los ntawm Apache git

Tam sim no txhua yam uas tseem tshuav yog ntxiv qhov kev sib txuas PCRE2 hauv Apache nws tus kheej, koj yuav tsum nrhiav cov ntaub ntawv ap_config_auto.h, nws nyob hauv cov npe:

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

Thaum pib ntawm cov ntaub ntawv no, ntxig cov kab hauv qab no:

/* Load PCRE2 */
#define HAVE_PCRE2 1

Zoo, tam sim no peb npaj txhij rau lub sijhawm tiag tiag ntawm kev sau Apache httpd nrog kev txhawb nqa PCRE2.
Cia peb mus rau peb Apache httpd qhov chaw directory thiab sau qhov no los ntawm kev ua raws cov lus txib:

make
make install

Tam sim no, yog tias txhua yam mus zoo thiab tsis muaj qhov yuam kev, tom qab ntawd koj yuav tau sib sau ua ke thiab sau Apache httpd nrog kev txhawb nqa PCRE2, uas txhais tau hais tias muaj kev hloov pauv zoo hauv Apache modules uas siv PCRE cov kab lus tsis tu ncua, ib qho ntawm cov no yog Module rewrite.

Hauv kev xaus, txoj kev no ua rau nws muaj peev xwm siv PCRE2 ua ntej tso tawm los ntawm Apache Software Foundation, Kuv vam tias ib qho kev txhawb nqa PCRE2 yuav raug tso tawm sai sai.

Tsis tas li ntawd, thaum kuaj tus qauv .htaccess, tsis muaj qhov yuam kev tshwm sim, yog tias leej twg muaj qhov yuam kev, sau rau hauv cov lus.

PS

Kuv tsis meej pem me ntsis los ntawm qhov xwm txheej ntawm kev siv ob qhov sib txawv ntawm PCRE rau kuv pawg, thiab kuv txiav txim siab kho nws.

Tau qhov twg los: www.hab.com

Ntxiv ib saib