Ọ ga-amasị m ịkọrọ ahụmịhe m nke ịsụgharị Apache 2.4 na PCRE2, ebe ọ bụ na ọbụna PHP 7 akwadola ọbá akwụkwọ PCRE2 ogologo oge, mana Apache Software Foundation ka na-emepe emepe.
N'ezie, enwere m ike n'ihu ntọhapụ Apache na nkwado PCRE2, ebe m na-eji isi mmalite sitere na Apache git, nke na-agwa anyị na nkwado PCRE2 ga-ekwe omume na ntọhapụ ọzọ, mana maka ndị chọrọ nkwado PCRE2 na. Apache 2.4, na ndị na-achọghị ichere ntọhapụ m na-ekerịta otu n'ime ụzọ ahụ.
Akụkọ ahụ chere na ị na-anakọta sọftụwia niile dị mkpa site na koodu isi mmalite, ndepụta ngwanrọ na ụdị n'oge edere:
PCRE2-10.33
Eprel 1.7.0
APR ruo 1.6.1
Apache httpd 2.4.41
Nzọụkwụ mbụ: wuo ma chịkọta PCRE2
Ka anyị leba anya n'oge nbudata isi mmalite sitere na isi mmalite ebe ọ bụ na nke a doro anya, yabụ na ị bupụla ebe nchekwa ahụ, gaa na folda ya na isi mmalite PCRE2, wee mee iwu na-esonụ iji kwado UTF:
./configure --prefix=/etc/webserver/pcre2-1033 --enable-pcre2-8 --enable-pcre2-16 --enable-pcre2-32 --enable-unicode
Ezipụta ụzọ gị na prefix ma ọ bụrụ na ịchọghị iji ọnọdụ ọkọlọtọ iji wụnye ọba akwụkwọ:
--prefix=/ваш/путь/до библиотеки
Ma ọ bụghị ya, ị na-anakọta na-enweghị prefix.
Iwu ndị fọdụrụ na-egosi ntinye nkwado maka 8-bit, 16-bit na 32-bit PCRE code blocks, na ụdị a, a na-eji ha mee mgbakọ ahụ.
Ma n'ezie, anyị na-achịkọta ihe a site na iji usoro mmezu nke iwu:
make
make install
Ọ bụrụ na ihe niile dị mma na nchịkọta na-enweghị njehie, gaa n'ihu na nzọụkwụ ọzọ.
Nzọụkwụ abụọ: jikọọ PCRE2 ọba akwụkwọ na APR
Ebe Apache na-achịkọta isi mmalite site na iji APR, anyị kwesịrị ịgụnye ọbá akwụkwọ na APR n'onwe ya, ma ọ bụghị ya, enwere ike inwe njehie gbasara ọrụ amaghị na isi mmalite Apache, n'ihi na anyị ga-eji ọrụ PCRE2 ọhụrụ.
Ka anyị hapụ oge nbudata isi mmalite sitere na isi mmalite ebe ọ bụ na nke a doro anya, yabụ ị wepụrụ ebe nchekwa ahụ wee rụọ nhazi APR:
./configure --prefix=/etc/webserver/apr-170
Dị ka o kwesịrị ịdị, ị na-egosi ụzọ gị na prefix ma ọ bụrụ na ịchọghị iji ọnọdụ ọkọlọtọ maka ịwụnye ọba akwụkwọ, ma ọ bụ ọ bụrụ na ị kọwapụtaghị:
--prefix=/ваш/путь/до библиотеки
Mgbe ịmechara nhazi ahụ, gaa na ndekọ: /etc/webserver/srcsrv/apr-1.7.0/build
Ma ọ bụ: /your/ụzọ/gaa n'ọbá akwụkwọ/wuo
Chọta faịlụ apr_rules.mk na ndekọ aha a, ma tinye ahịrị na njedebe ebe:
EXTRA_LIBS=-lrt -lcrypt -lpthread -ldl
Jikọọ ọba akwụkwọ:
-lpcre2-8 -L/ваш/путь/до библиотеки pcre2/lib
Chekwa ma gaa na ndekọ mgbọrọgwụ nke isi mmalite APR: /your/path/ga n'ọbá akwụkwọ.
Ka anyị chịkọta APR anyị emezigharịrị:
make
make install
Ọ bụrụ na ihe niile dị mma na nchịkọta na-enweghị njehie, gaa n'ihu na nzọụkwụ ọzọ.
Nzọụkwụ atọ: wuo APR-util maka Apache site na isi mmalite
Ị budatala ọbá akwụkwọ a site na isi mmalite, gaa na nchekwa mgbọrọgwụ nke ebe a na-edebe ihe ndekọ na APR-util, wee tinye iwu ndị a n'usoro:
./configure --prefix=/etc/webserver/apr-util-161 --with-apr=/ваш/путь/до библиотеки apr
make
make install
Dị ka o kwesịrị ịdị, ị na-egosi ụzọ gị na prefix ma ọ bụrụ na ịchọghị iji ọnọdụ ọkọlọtọ maka ịwụnye ọba akwụkwọ, ma ọ bụ ọ bụrụ na ị kọwapụtaghị:
--prefix=/ваш/путь/до библиотеки
Anyị jikọtara APR anyị ebe a:
--with-apr=/ваш/путь/до библиотеки apr
Nzọụkwụ anọ: budata isi mmalite sitere na Apache git iji kwado PCRE2
Ihe dị mkpa: Anyị na-ebudata isi mmalite sitere na mbipụta git kacha ọhụrụ.
Anyị kwesịrị ibudata isi mmalite abụọ dị ka ap_regex.h na util_pcre.c, njikọ dị n'okpuru:
Ugbu a gaa na akwụkwọ ndekọ aha Apache httpd gị wee wuo Apache site na iji iwu ndị a:
./configure --prefix=/etc/webserver/apache-2441 --with-apr=/ваш/путь/до библиотеки apr --with-apr-util=/ваш/путь/до библиотеки apr-util --with-pcre=/ваш/путь/до библиотеки pcre2/bin/pcre2-config
Dị ka o kwesịrị ịdị, ị na-egosi ụzọ gị na prefix ma ọ bụrụ na ịchọghị iji ọnọdụ ọkọlọtọ maka ịwụnye ọba akwụkwọ, ma ọ bụ ọ bụrụ na ị kọwapụtaghị:
--prefix=/ваш/путь/до Apache httpd
Ịnwekwara ike ịkọwapụta iwu ndị ọzọ maka iwulite Apache na ikike gị, m na-ekwu na iwu maka ịme ma ọ bụ gbanyụọ modul na ọba akwụkwọ.
Ọzọ, anyị na-aga Apache httpd akwụkwọ ndekọ aha, enwere m nke a:
/etc/webserver/srcsrv/httpd-2.4.41
Ị ga-aga na ndekọ aha gị, dochie na ndekọ:
/etc/webserver/srcsrv/httpd-2.4.41/include
Faịlụ ap_regex.h, nke anyị budata na Apache git.
Anyị na-agakwa na ndekọ:
/etc/webserver/srcsrv/httpd-2.4.41/server
Anyị na-eji nke anyị budata na Apache git dochie faịlụ util_pcre.c
Ugbu a naanị ihe fọdụrụ bụ ịgbakwunye njikọ PCRE2 na Apache n'onwe ya, ịchọrọ ịchọta faịlụ ap_config_auto.h, ọ dị na ndekọ:
/etc/webserver/srcsrv/httpd-2.4.41/include
N'isi mmalite faịlụ a, tinye ahịrị ndị a:
/* Load PCRE2 */
#define HAVE_PCRE2 1
Ọ dị mma, ugbu a anyị dịla njikere maka ezigbo oge ijikọ Apache httpd na nkwado PCRE2.
Ka anyị gaa na akwụkwọ ndekọ aha Apache httpd anyị wee chịkọta nke a site n'ime usoro iwu ndị a:
make
make install
Ugbu a, ọ bụrụ na ihe niile gara nke ọma na enweghị mmejọ, mgbe ahụ, ị ga-agbakọta ma chịkọta Apache httpd na nkwado PCRE2, nke pụtara mgbanwe dị mma na modul Apache na-eji PCRE okwu mgbe niile, otu n'ime ndị a bụ Module rewrite.
N'ikpeazụ, usoro a na-eme ka o kwe omume iji PCRE2 tupu mwepụta gọọmentị sitere na Apache Software Foundation, enwere m olileanya na a ga-ewepụta ụdị nwere nkwado PCRE2 n'oge na-adịghị anya.
Ọzọkwa, n'oge ule nke ọkọlọtọ .htaccess, ọ dịghị njehie mere, ọ bụrụ na onye ọ bụla nwere njehie ọ bụla, dee na nkwupụta.
PS
Enwere m ntakịrị mgbagwoju anya site na ọnọdụ nke iji ụdị abụọ dị iche iche nke PCRE maka nchịkọta m, ekpebiri m idozi ya.
isi: www.habr.com