# JIT agus feidhmíocht i PHP 8

> PHP JIT agus feidhmíocht i PHP 8: conas a oibríonn an tiomsaitheoir JIT le OPcache, cé na socruithe atá i bhfeidhm agus cén fáth a bhfuil nuashonruithe tábhachtach don luas agus don tslándáil.

Foinse: https://phpsos.de/ga/php/jit-und-performance/  
Staid: 25/10/2026  
Soláthraí: PHP SOS, Cabhair éigeandála PHP agus slándáil freastalaí. Cabhair láithreach trí WhatsApp: https://wa.me/491736494914?text=Dia%20duit%2C%20a%20PHP%20SOS%2C%20t%C3%A1%20cabhair%20de%20dh%C3%ADth%20orainn%20len%C3%A1r%20bhfreastala%C3%AD%20PHP.%20Cuideachta%3A%20%E2%80%A6%20Su%C3%ADomh%20gr%C3%A9as%C3%A1in%3A%20%E2%80%A6

**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](https://phpsos.de/ga/php/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](https://phpsos.de/ga/php/opcache/).

## 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.

```ini
; 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:

```bash
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:

1. **Leagan PHP reatha:** Tugann leaganacha nua barrfheabhsuithe agus, thar aon rud eile, ceartúcháin slándála.
2. **OPcache a mhéadú i gceart:** go leor cuimhne agus spáis do chomhaid uile an fheidhmchláir.
3. **PHP-FPM a shocrú go hoiriúnach:** `pm.max_children` a oiriúnú don chuimhne oibre atá ar fáil, in ionad é a ardú go dall.
4. **An bunachar sonraí a sheiceáil:** ceisteanna mallaithe a aimsiú, innéacsanna a leagan.
5. **Taisceadh ar leibhéal an fheidhmchláir:** taisce leathanaigh nó oibiachtaí, nuair a thacaíonn an córas leis.
6. **Tomhas seachas buille faoi thuairim:** scríobhann `request_slowlog_timeout` i 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](https://phpsos.de/ga/leistungen/server-haertung/) 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.

## Foinsí

- [Lámhleabhar PHP: Socruithe OPcache agus JIT](https://www.php.net/manual/en/opcache.configuration.php)
- [PHP RFC: JIT (PHP 8.0)](https://wiki.php.net/rfc/jit)
- [PHP RFC: OPcache mar chuid sheasta (PHP 8.5)](https://wiki.php.net/rfc/make_opcache_required)
- [php.net: Eisiúint PHP 8.4](https://www.php.net/releases/8.4/en.php)
