د اپاچی 2 لپاره د PCRE2.4 ملاتړ څنګه کول

زه غواړم د اپاچي 2.4 څخه PCRE2 ته د ژباړلو تجربه شریک کړم، ځکه چې حتی PHP 7 د اوږدې مودې لپاره د PCRE2 کتابتون ملاتړ کړی، مګر د خلاصې سرچینې اپاچی سافټویر بنسټ لاهم نه کوي.
البته، زه اوس شاید د PCRE2 ملاتړ سره د اپاچي خوشې کولو څخه مخکې یم، ځکه چې زه د اپاچي ګیټ سرچینې کاروم، کوم چې موږ ته وایي چې د PCRE2 ملاتړ لا دمخه په راتلونکي ریلیز کې ممکن دی، مګر د هغو کسانو لپاره چې دمخه یې د PCRE2 ملاتړ غواړي. اپاچی 2.4، او څوک چې نه غواړي خوشې کولو ته انتظار وکړي زه یوه لاره شریکوم.

مقاله فرض کوي چې تاسو د سرچینې کوډ څخه ټول اړین سافټویر راټول کوئ ، د لیکلو په وخت کې د سافټویر او نسخو لیست:

PCRE2-10.33
اپریل 1.7.0
APR- تر 1.6.1 پورې
اپاچی httpd 2.4.41

لومړی ګام: PCRE2 جوړ او تالیف کړئ

راځئ چې د رسمي سرچینو څخه د سرچینو ډاونلوډ کولو شیبه پریږدو ځکه چې دا خورا څرګند دی ، نو تاسو آرشیف خلاص کړی ، د PCRE2 سرچینو سره فولډر ته لاړشئ ، او د UTF ملاتړ لپاره لاندې کمانډ پرمخ وړئ:

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

خپله لاره په مخکینۍ برخه کې مشخص کړئ که تاسو نه غواړئ د کتابتون نصبولو لپاره معیاري ځای وکاروئ:

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

که نه نو، تاسو د مخکینۍ پرته راټول کړئ.

پاتې کمانډونه د 8-bit، 16-bit او 32-bit PCRE کوډ بلاکونو لپاره د ملاتړ شاملول په ګوته کوي، پدې نسخه کې مجلس د دوی سره ترسره شوی.

او البته، موږ دا شی د حکمونو د ترتیب اجرا کولو په کارولو سره تالیف کوو:

make
make install

که هرڅه سم وي او تالیف پرته له خطا تیر شو ، راتلونکي مرحلې ته لاړشئ.

دوهم ګام: د PCRE2 کتابتون له APR سره وصل کړئ

څرنګه چې اپاچي د APR په کارولو سره سرچینې تالیف کوي، موږ اړتیا لرو چې کتابتون پخپله په APR کې شامل کړو، که نه نو ممکن د اپاچي سرچینو کې د نامعلومو فعالیتونو په اړه غلطۍ وي، ځکه چې موږ به د PCRE2 نوي افعال وکاروو.

راځئ چې د رسمي سرچینو څخه د سرچینو ډاونلوډ کولو شیبه له لاسه ورکړو ځکه چې دا خورا څرګند دی ، نو تاسو آرشیف خلاص کړ او د APR ترتیب یې ترسره کړ:

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

په طبیعي توګه، تاسو په مخکینۍ برخه کې خپله لاره په ګوته کوئ که تاسو نه غواړئ د کتابتون نصبولو لپاره معیاري ځای وکاروئ، یا که تاسو مشخص نه کړئ:

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

د ترتیب بشپړولو وروسته، لارښود ته لاړ شئ: /etc/webserver/srcsrv/apr-1.7.0/build

یا: /ستاسو/لار/کتابتون/جوړول

په دې لارښود کې د apr_rules.mk فایل ومومئ، او په پای کې کرښې اضافه کړئ چیرې چې:

EXTRA_LIBS=-lrt -lcrypt  -lpthread -ldl

د کتابتون نښلول:

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

خوندي کړئ او د APR سرچینو اصلي لارښود ته لاړ شئ: /your/path/ to the library.

راځئ چې زموږ تعدیل شوي APR تالیف کړو:

make
make install

که هرڅه سم وي او تالیف پرته له خطا تیر شو ، راتلونکي مرحلې ته لاړشئ.

دریم ګام: د سرچینو څخه د اپاچي لپاره APR-util جوړ کړئ

تاسو دا کتابتون له سرچینې څخه ډاونلوډ کړی دی، د APR-util سره د نه بسته شوي آرشیف روټ فولډر ته لاړ شئ، او لاندې کمانډونه په ترتیب سره دننه کړئ:

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

په طبیعي توګه، تاسو په مخکینۍ برخه کې خپله لاره په ګوته کوئ که تاسو نه غواړئ د کتابتون نصبولو لپاره معیاري ځای وکاروئ، یا که تاسو مشخص نه کړئ:

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

موږ دلته زموږ APR هم وصل کوو:

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

څلورم ګام: د PCRE2 ملاتړ لپاره د اپاچي ګیټ څخه سرچینې ډاونلوډ کړئ

مهم: موږ سرچینې د ګیټ وروستي نسخه څخه ډاونلوډ کوو.

موږ اړتیا لرو چې دوه سرچینې ډاونلوډ کړو لکه ap_regex.h او util_pcre.c، لاندې لینکونه:
ap_regex.h
util_pcre.c

اوس خپل د اپاچي httpd سرچینې ډایرکټر ته لاړشئ او د لاندې کمانډونو سره اپاچي جوړ کړئ:

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

په طبیعي توګه، تاسو په مخکینۍ برخه کې خپله لاره په ګوته کوئ که تاسو نه غواړئ د کتابتون نصبولو لپاره معیاري ځای وکاروئ، یا که تاسو مشخص نه کړئ:

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

تاسو کولی شئ په خپل اختیار کې د اپاچي جوړولو لپاره اضافي کمانډونه هم مشخص کړئ ، زما مطلب د ماډلونو او کتابتونونو فعالولو یا غیر فعال کولو امرونه دي.

بیا موږ زموږ د اپاچي httpd سرچینې لارښود ته ځو، زه دا لرم:

/etc/webserver/srcsrv/httpd-2.4.41

تاسو په طبیعي ډول خپل لارښود ته ځئ ، په لارښود کې ځای په ځای کړئ:

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

فایل ap_regex.h، کوم چې موږ د اپاچي ګیټ څخه ډاونلوډ کړی.

موږ لارښود ته هم ځو:

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

موږ د util_pcre.c فایل له هغه سره بدلوو چې موږ د اپاچي ګیټ څخه ډاونلوډ کړی

اوس ټول هغه څه پاتې دي چې پخپله په اپاچي کې د PCRE2 اتصال اضافه کول دي ، تاسو اړتیا لرئ فایل ومومئ ap_config_auto.h ، دا په لارښود کې موقعیت لري:

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

د دې دوتنې په پیل کې، لاندې کرښې داخل کړئ:

/* Load PCRE2 */
#define HAVE_PCRE2 1

ښه، اوس موږ د PCRE2 ملاتړ سره د اپاچي httpd تالیف کولو اصلي شیبې ته چمتو یو.
راځئ چې زموږ د اپاچي httpd سرچینې ډایرکټر ته لاړ شو او دا په ترتیب سره د کمانډونو په اجرا کولو سره تالیف کړو:

make
make install

اوس، که هرڅه سم او پرته له خطا تیر شول، نو تاسو به د PCRE2 ملاتړ سره د اپاچي httpd راټول او تالیف کړی وي، دا پدې مانا ده چې د اپاچي ماډلونو کې مثبت بدلونونه چې د PCRE منظم بیانونه کاروي، یو له دې څخه د موډل بیا لیکل دي.

په پایله کې، دا طریقه د اپاچي سافټویر فاؤنڈیشن څخه د خوشې کیدو دمخه د PCRE2 کارول ممکنه کوي، زه امید لرم چې د PCRE2 ملاتړ سره به ډیر ژر خپور شي.

همدارنګه، د معیاري .htaccess ازموینې په جریان کې، کومه تېروتنه نده شوې، که څوک کومه تېروتنه ولري، په نظرونو کې یې ولیکئ.

PS

زه زما د سټیک لپاره د PCRE دوه مختلف نسخو کارولو وضعیت څخه یو څه مغشوش وم ، او ما پریکړه وکړه چې دا حل کړم.

سرچینه: www.habr.com

Add a comment