Go achomair: Aistríonn an JIT PHP (tiomsaitheoir Just-in-time) cód PHP a ritear go minic ina chód meaisín le linn an ama rite. Tháinig sé le PHP 8.0, tá sé mar chuid de OPcache agus ó PHP 8.4 tá sé múchta de réir réamhshocraithe. Déantar tascanna ríomhaireachta-dian i bhfad níos tapúla leis, gnáthshuíomhanna gréasáin ar nós WordPress ar éigean. An tairbhe is mó, tugann OPcache, leagan PHP reatha agus bainistiú próisis a bhfuil socrú oiriúnach air é, agus tugann gach leagan reatha na ceartúcháin slándála riachtanacha ag an am céanna.
Cad é an tiomsaitheoir JIT i PHP?
Is teanga ateangaithe í PHP: aistrítear an téacs foinse ar dtús go bytecode, opcodes mar a thugtar orthu, agus ritheann an Zend Engine iad. Téann JIT céim níos faide. Breathnaíonn sé cé na codanna cóid a ritheann go minic agus aistríonn sé go beacht iad sin ina gcód meaisín don phróiseálaí. Ó shin i leith ritheann siad gan an claonadh tríd an ateangaire.
Déanann an RFC a thug isteach é cur síos ar an JIT mar chuid beagnach neamhspleách de OPcache. Tá an cód meaisín a ghintear i limistéar breise de chuimhne roinnte OPcache. Le PHP 8.4 d'athchruthaigh an tionscadal an JIT; de réir leathanach na heisiúna tá an cur chun feidhme nua bunaithe ar chreat IR, léiriú idirmheánach coiteann do ghiniúint cóid. Míníonn an Zend Engine conas a oibríonn an t-inneall faoi bhun.
OPcache ar dtús: an bunús feidhmíochta fíor
Gan OPcache aistríonn PHP gach comhad as an nua le gach iarratas. Coinníonn OPcache an bytecode sa chuimhne roinnte, ionas go n-athúsáideann na hoibrithe go léir é. Do shuíomh gréasáin le córas bainistithe ábhair is é sin an luamhán is tábhachtaí ar fad. Ó PHP 8.5 i leith tá OPcache tiomsaithe go seasta isteach i PHP de réir RFC glactha; leanann na socruithe ini aitheanta ag rialú an bhfuil an taisce gníomhach.
Luachanna réamhshocraithe tábhachtacha de réir an lámhleabhair: opcache.enable=1, opcache.enable_cli=0, opcache.validate_timestamps=1 agus opcache.revalidate_freq=2. Leis an socrú deireanach seiceálann OPcache uair amháin gach dhá shoicind ar a mhéad an ndearnadh comhaid a athrú. An té a mhúchann validate_timestamps, ní mór dó an taisce a fholmhú tar éis gach imscartha nó PHP a atosú. Tuilleadh ag OPcache mínithe.
An JIT PHP a chumrú: modhanna agus socruithe
Rialaítear an JIT trí dhá threoir:
| Treoir | Réamhshocrú ó 8.4 | Réamhshocrú roimh 8.4 | Brí |
|---|---|---|---|
opcache.jit |
disable |
tracing |
mód an JIT |
opcache.jit_buffer_size |
64M |
0 |
cuimhne don chód meaisín a ghintear, múchann 0 an JIT |
Do opcache.jit aithníonn an lámhleabhar na luachanna seo: disable (as go hiomlán, ní féidir é a chur ar siúl ag am rite), off (as, ach is féidir é a chur ar siúl ag am rite), tracing nó on (molta don chuid is mó d'úsáideoirí) agus function. Taobh leis sin tá nodaireacht uimhreach ceithre dhigit do mhínsocruithe.
; an JIT a chur ar siúl go sonrach, m.sh. d'oibrithe ríomhaireachta-dian
opcache.enable=1
opcache.jit=tracing
opcache.jit_buffer_size=64M
Taispeánann stádas OPcache an bhfuil an JIT ag rith:
php -i | grep -i "opcache.jit" # socruithe an CLI
php --ri "Zend OPcache" # cumraíocht eisínteacht OPcache
Tabhair faoi deara gur féidir leis an líne ordaithe socruithe eile a úsáid ná PHP-FPM. Maidir leis an oibriú gréasáin, is é aschur phpinfo() i gcomhthéacs FPM a bhfuil tábhacht leis, go hidéalach ar fáil go hinmheánach amháin agus bainte arís ina dhiaidh.
Cad a thugann an JIT sa chleachtas?
Rinne údair an RFC tomhais: rith an script shintéiseach bench.php níos mó ná faoi dhó chomh tapa leis an JIT. I gcás feidhmchlár fíor bhí an tairbhe beag; shroich WordPress 326 in ionad 315 iarratas sa soicind, rith parsálaí PHP thart ar 1.3-oiread chomh tapa. Deir an RFC go hoscailte nach luasghéaraíonn an JIT feidhmchláir fhíora ar nós WordPress go suntasach.
Tá an chúis i bpróifíl gnáthfheidhmchlár gréasáin. Fanann siad don chuid is mó den am ar bhunachar sonraí, ar chóras comhad nó ar sheirbhísí seachtracha. Is beag a chabhraíonn cosán próiseálaí níos tapúla ansin. Is féidir leo seo leas a bhaint as, ar an láimh eile: próiseáil íomhá i PHP, ríomhanna matamaitice, parsálaithe nó oibrithe fadrite.
Feidhmíocht gan JIT: na luamháin níos éifeachtaí
Do shuíomhanna gréasáin cuideachta agus siopaí is fiú an t-ord seo:
- Leagan PHP reatha: Tugann leaganacha nua barrfheabhsuithe agus, thar aon rud eile, ceartúcháin slándála.
- OPcache a mhéadú i gceart: go leor cuimhne agus spáis do chomhaid uile an fheidhmchláir.
- PHP-FPM a shocrú go hoiriúnach:
pm.max_childrena oiriúnú don chuimhne oibre atá ar fáil, in ionad é a ardú go dall. - An bunachar sonraí a sheiceáil: ceisteanna mallaithe a aimsiú, innéacsanna a leagan.
- Taisceadh ar leibhéal an fheidhmchláir: taisce leathanaigh nó oibiachtaí, nuair a thacaíonn an córas leis.
- Tomhas seachas buille faoi thuairim: scríobhann
request_slowlog_timeouti PHP-FPM backtrace sa Slowlog d'iarratais mhalla.
JIT, feidhmíocht agus slándáil
Tá feidhmíocht agus slándáil níos dlúithe ceangailte ná mar a shíleann tú. Ar an gcéad dul síos: is cód breise é gach comhpháirt bhreise. Luann an RFC a thug isteach é an riosca d'earráidí sa JIT, i nginiúint cóid agus i leithdháileadh cláir, chomh maith leis an gcuardach earráidí níos deacra. An té nach bhfuil an JIT de dhíth air ar bhealach intomhaiste, fágann sé ag an réamhshocrú disable é.
Ar an dara dul síos: coinníonn OPcache agus oibrithe cód sa chuimhne. Tar éis nuashonraithe slándála mar sin do PHP2Shell, leanann seanphróisis le seanchód ag rith go dtí go n-atosaítear iad. Ní thagann taisce a fholmhú ina aonar in ionad an atosaithe seo, mar tá na leochaileachtaí CVE-2026-109618 agus CVE-2026-109619 sa dénártha PHP féin.
Ar an tríú dul síos: is é an gnóthú feidhmíochta is fearr, leagan reatha, an beart cosanta is tábhachtaí ag an am céanna. Sroicheann PHP 8.2 deireadh a thacaíochta an 31.12.2026; an té a aistríonn anois go 8.4 nó 8.5, faigheann sé an dá rud. Déanann an cruatú freastalaí do fhreastalaithe gréasáin PHP cur síos ar an gcaoi a gcoimeádaimid córais tapa agus crua go buan.
Conas a chabhraíonn PHP SOS go praiticiúil?
- Anailís ar an staid reatha: Léimid socruithe OPcache, JIT agus FPM agus cuirimid i gcomparáid le hualach agus le cuimhne oibre iad.
- Caolbhóithre a thomhas: Le Slowlog agus le figiúirí freastalaí faighimid amach cá gcailltear an t-am i ndáiríre.
- Cumrú sábháilte: JIT ach amháin san áit a gcabhraíonn sé go infheidhme; OPcache ionas go dtéann imscaradh agus nuashonruithe i bhfeidhm go glan.
- Nuashonruithe a phleanáil: Athruithe leagain le tástáil agus atosú doiciméadaithe, ionas go bhfuil luas agus staid an phaistithe ceart.
Ceisteanna coitianta
An bhfuil an JIT gníomhach de réir réamhshocraithe i PHP?
Ó PHP 8.4 i leith níl. Is é disable réamhshocrú opcache.jit. Roimhe sin bhí tracing réamhshocraithe, ach bhí an maolán opcache.jit_buffer_size socraithe ar 0, rud a chiallaigh nár rith an JIT ach an oiread.
An bhfuil WordPress níos tapúla leis an JIT?
Is ar éigean. Sa RFC a thug isteach é scríobhann na húdair nach luasghéaraíonn an JIT feidhmchláir fhíora ar nós WordPress go suntasach. D'ardaigh a luach tomhaiste ó 315 go 326 iarratas sa soicind.
An bhfuil OPcache de dhíth orm mura n-úsáidim an JIT?
Tá. Stórálann OPcache an bytecode aistrithe sa chuimhne roinnte agus sábhálann sé an tiomsú arís le gach iarratas. Is é sin an luamhán feidhmíochta is tábhachtaí do bheagnach gach suíomh gréasáin PHP. Ó PHP 8.5 i leith tá OPcache tógtha go seasta isteach i PHP.
An riosca slándála é an JIT?
Ciallaíonn níos mó cóid níos mó earráidí féideartha. Luann an RFC a thug isteach é an riosca d'earráidí sa JIT agus an cuardach earráidí níos deacra. An té nach bhfuil air de dhíth, fágann sé as é; an té a úsáideann é, ba cheart dó nuashonruithe a shuiteáil go sciobtha ach go háirithe.