Me pehea te hanga tautoko PCRE2 mo Apache 2.4

E hiahia ana ahau ki te whakapuaki i taku wheako ki te whakamaori i te Apache 2.4 ki te PCRE2, i te mea kua roa te PHP 7 e tautoko ana i te whare pukapuka PCRE2, engari ko te puna tuwhera Apache Software Foundation kare tonu.
Ae ra, kei mua pea ahau i te tukunga Apache me te tautoko PCRE2, na te mea kei te whakamahi ahau i nga punawai mai i te Apache git, e kii ana kua taea te tautoko PCRE2 i te tukunga e whai ake nei, engari mo te hunga e hiahia ana ki te tautoko PCRE2 i roto Apache 2.4, a ko wai e kore e hiahia ki te tatari tuku ka tohatoha ahau i tetahi o nga huarahi.

Ko te whakaaro o te tuhinga kei te kohi koe i nga rorohiko e tika ana mai i te waehere puna, he rarangi o nga raupaparorohiko me nga putanga i te wa e tuhi ana:

PCRE2-10.33
Paenga-whāwhā 1.7.0
APR-util 1.6.1
Apache httpd 2.4.41

Hipanga tuatahi: hanga me te whakahiato PCRE2

Me pekehia te waa ki te tango i nga puna mai i nga puna mana i te mea kua tino kitea tenei, na kua wetewete koe i te puranga, haere ki te kōpaki me nga puna PCRE2, ka whakahaere i te whakahau e whai ake nei hei tautoko i te UTF:

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

Tauwhāitihia to ara ki te prefix ki te kore koe e hiahia ki te whakamahi i te tauwāhi paerewa hei whakauru i te whare pukapuka:

--prefix=/ваш/путь/до библиотеки

Ki te kore, ka kohikohi koe me te kore he prefix.

Ko nga toenga o nga whakahau e tohu ana i te whakauru o nga tautoko mo nga poraka waehere PCRE 8-bit, 16-bit me te 32-bit, i roto i tenei putanga i mahia te huihuinga me ratou.

Ae ra, ka whakahiatohia e matou tenei mea ma te whakamahi i nga mahi raupapa o nga whakahau:

make
make install

Mena he pai nga mea katoa, ka haere te whakahiato kaore he hapa, haere ki te taahiraa e whai ake nei.

Hipanga tuarua: hono te whare pukapuka PCRE2 ki APR

I te mea ka whakahiatohia e Apache nga puna ma te whakamahi i te APR, me whakauru tatou i te whare pukapuka ki roto i te APR ake, ki te kore he hapa mo nga mahi e kore e mohiotia i roto i nga puna Apache, na te mea ka whakamahia e matou nga mahi PCRE2 hou.

Me waiho e tatou te wa tango mai i nga puna korero mai i nga puna mana i te mea he tino kitea tenei, na ka wetewete koe i te puranga me te mahi i te whirihoranga APR:

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

Ko te tikanga, ka tohu koe i to ara i roto i te prefix mena kaore koe e hiahia ki te whakamahi i te waahi paerewa mo te whakauru i te whare pukapuka, mena kaore koe e kii:

--prefix=/ваш/путь/до библиотеки

Ka oti te whirihoranga, haere ki te raarangi: /etc/webserver/srcsrv/apr-1.7.0/build

Ranei: /you/ara/ki te whare pukapuka/hanga

Kimihia te kōnae apr_rules.mk i roto i tenei whaiaronga, me te taapiri i nga raina ki te mutunga kei hea:

EXTRA_LIBS=-lrt -lcrypt  -lpthread -ldl

Te hono i te whare pukapuka:

-lpcre2-8 -L/ваш/путь/до библиотеки pcre2/lib

Tiakina ka haere ki te whaiaronga pakiaka o nga puna APR: /you/ara/ki te whare pukapuka.

Kia whakahiatohia ta maatau APR kua whakarereketia:

make
make install

Mena he pai nga mea katoa, ka haere te whakahiato kaore he hapa, haere ki te taahiraa e whai ake nei.

Hipanga tuatoru: hanga APR-util mo Apache mai i nga puna

Kua tikiakehia e koe tenei whare pukapuka mai i te puna, haere ki te kōpaki pakiaka o te purongo kua wetewetehia me te APR-util, ka uru ki nga whakahau e whai ake nei:

./configure --prefix=/etc/webserver/apr-util-161 --with-apr=/ваш/путь/до библиотеки apr
make
make install

Ko te tikanga, ka tohu koe i to ara i roto i te prefix mena kaore koe e hiahia ki te whakamahi i te waahi paerewa mo te whakauru i te whare pukapuka, mena kaore koe e kii:

--prefix=/ваш/путь/до библиотеки

Ka hono ano ta maatau APR ki konei:

--with-apr=/ваш/путь/до библиотеки apr

Hipanga tuawha: tango puna mai i Apache git hei tautoko i te PCRE2

He mea nui: Ka tangohia e matou nga puna mai i te putanga hou o te git.

Me tango nga puna e rua penei i te ap_regex.h me util_pcre.c, nga hononga kei raro nei:
ap_regex.h
util_pcre.c

Inaianei haere ki to raarangi punaha Apache httpd ka hanga Apache me nga whakahau e whai ake nei:

./configure --prefix=/etc/webserver/apache-2441 --with-apr=/ваш/путь/до библиотеки apr --with-apr-util=/ваш/путь/до библиотеки apr-util --with-pcre=/ваш/путь/до библиотеки pcre2/bin/pcre2-config

Ko te tikanga, ka tohu koe i to ara i roto i te prefix mena kaore koe e hiahia ki te whakamahi i te waahi paerewa mo te whakauru i te whare pukapuka, mena kaore koe e kii:

--prefix=/ваш/путь/до Apache httpd

Ka taea hoki e koe te tohu etahi atu whakahau mo te hanga Apache i runga i to whakaaro, ko taku tikanga ko nga whakahau mo te whakaahei, te whakakore ranei i nga waahanga me nga whare pukapuka.

I muri mai ka haere matou ki to maatau whaiaronga puna Apache httpd, kei a au tenei:

/etc/webserver/srcsrv/httpd-2.4.41

Ka haere noa koe ki to whaiaronga, whakakapi i te raarangi:

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

Ko te kōnae ap_regex.h, i tangohia e matou mai i te Apache git.

Ka haere ano matou ki te raarangi:

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

Ka whakakapihia e matou te konae util_pcre.c me te mea i tangohia e matou mai i te Apache git

Ko nga mea katoa e toe ana ko te taapiri i te hononga PCRE2 ki Apache ake, me rapu koe i te konae ap_config_auto.h, kei roto i te raarangi:

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

I te timatanga o tenei konae, whakauruhia nga rarangi e whai ake nei:

/* Load PCRE2 */
#define HAVE_PCRE2 1

Inaianei kua reri matou mo te waa tino whakahiato a Apache httpd me te tautoko PCRE2.
Me haere ki ta maatau raarangi puna Apache httpd ka whakahiato ma te mahi i nga whakahau:

make
make install

Inaianei, ki te pai nga mea katoa me te kore he, katahi ka whakahiatohia e koe a Apache httpd me te tautoko PCRE2, ko te tikanga o nga huringa pai i roto i nga waahanga Apache e whakamahi ana i nga korero PCRE auau, ko tetahi o enei ko te Tuhituhi ano.

Hei mutunga, ka taea e tenei tikanga te whakamahi i te PCRE2 i mua i te tukunga mana mai i te Apache Software Foundation, kei te tumanako ahau ka tukuna mai he putanga me te tautoko PCRE2.

Ano, i te wa o te whakamatautau i te paerewa .htaccess, kaore he hapa i puta, mehemea he hapa tetahi, tuhia ki roto i nga korero.

PS

I tino poauau ahau na te ahuatanga o te whakamahi i nga momo momo PCRE e rua mo taku puranga, ka whakatau ahau ki te whakatika.

Source: will.com

Tāpiri i te kōrero