Go achomair: Is freastalaí feidhmchláir é FrankenPHP bunaithe ar Caddy a leabaíonn PHP ina chlár féin. Maidir le slándáil FrankenPHP i ndiaidh PHP2Shell, ciallaíonn sin: ní chuireann pacáistí PHP an dáilte isteach air, ach an leagan PHP sa binary FrankenPHP nó san íomhá coimeádáin. Tóg nó luchtaigh leagan le PHP ceartaithe agus atosaigh gach oibrí.
Cén fáth a bpaistítear FrankenPHP ar bhealach difriúil
Le socruithe clasaiceacha, soláthraíonn an dáileadh PHP mar phacáiste, agus cuireann nuashonrú na comhaid in ionad a chéile. Ina choinne sin, tá PHP mar leabharlann leabaithe i FrankenPHP. An té a úsáideann an binary oifigiúil nó íomhá coimeádáin atá bunaithe air, faigheann sé PHP leis. Ní athraíonn apt upgrade ar an óstach aon rud air sin.
Cuimsíonn PHP2Shell CVE-2026-109618 agus CVE-2026-109619, an bheirt acu le CVSS v4.0 9.2. Liostaíonn tionscadal PHP FrankenPHP go sainráite i measc na modhanna oibriúcháin lena mbaineann. Tá PHP 8.5.12, 8.4.27, 8.3.36 agus 8.2.35 ceartaithe. Is é an rud atá cinntitheach, mar sin, cén leagan PHP ar tógadh do FrankenPHP ina choinne.
An mód oibrí agus PHP2Shell
Is féidir le FrankenPHP feidhmchláir a oibriú sa mhód oibrí. Luchtaítear an feidhmchlár uair amháin agus ansin láimhseálann sé a lán iarratas i ndiaidh a chéile sa phróiseas céanna. Tugann sé sin luas, ach fadaíonn sé saolré gach próisis.
Déanann CVE-2026-109619 cur síos ar staid inmheánach iarratais a fhéadfaidh maireachtáil tar éis an chuimhne a scaoileadh; is féidir le hiarratas níos déanaí san oibrí céanna úsáid a bhaint aisti sula ndéantar í a athshocrú. Sa mhód oibrí is é an gnáthchás é go n-oibríonn a lán iarratas le chéile i bpróiseas amháin. Ní cúis é sin le heiseamh ón mód oibrí, ach is cúis shoiléir é chun nuashonruithe agus atosuithe a chur i bhfeidhm go han-chúramach. Tá mionsonraí teicniúla faoi CVE-2026-109619.
Slándáil FrankenPHP: an leagan a sheiceáil
Seiceáil an leagan PHP leabaithe go díreach sa chóras atá ag rith. Ní léann na horduithe seo a leanas ach; is samplaí iad ainmneacha seirbhísí agus coimeádán.
# Binary suiteáilte
frankenphp version
# Sa choimeádán atá ag rith (ainm an choimeádáin mar shampla)
docker exec app frankenphp version
docker exec app php -v
# Cén íomhá atá ag rith i ndáiríre? (léiríonn an digest an staid chruinn)
docker inspect --format '{{.Image}} {{.Config.Image}}' app
Tabhair faoi deara an leagan PHP ón aschur. Má tá sé roimh na staideanna ceartaithe, tá an córas leochaileach. Seiceáil an coimeádán atá ag rith i gcónaí, ní hamháin an íomhá is déanaí a tógadh, mar ní bhíonn tionchar ag íomhá nua go dtí go gcuirtear na coimeádáin in ionad a chéile.
An nuashonrú a chur isteach agus gach oibrí a atosú
Braitheann cuma an nuashonraithe ar do shuiteáil:
- Binary ar an óstach: eisiúint nua de FrankenPHP a shuiteáil le leagan PHP ceartaithe, an tseirbhís a atosú.
- Coimeádán: íomhá bhunúsach le leagan PHP ceartaithe a fháil, d'íomhá féin a thógáil as an nua, gan taisce don bhunchiseal, na coimeádáin a athsholáthar.
- Tiomsaithe agat féin: a thógáil as an nua i gcoinne an leagain PHP cheartaithe, gach eisínteacht a ghiniúint as an nua leis an leagan céanna.
# Sampla de shuiteáil óstaigh mar sheirbhís systemd
systemctl restart frankenphp
# Sampla Docker Compose: tógáil as an nua gan taisce agus coimeádáin a athsholáthar
docker compose build --pull --no-cache
docker compose up -d --force-recreate
Ina dhiaidh sin seiceálann tú arís an leagan PHP sa choimeádán atá ag rith agus am tosaithe na bpróiseas. Sa mhód oibrí ní mór gach oibrí a bheith atosaithe. I gcás Kubernetes baineann céimeanna breise leis, a bhfuil cur síos orthu faoi PHP a phaisteáil i Kubernetes, do choimeádáin go ginearálta faoi PHP a phaisteáil i gcoimeádáin Docker.
Ní ráthaíonn clib ar nós latest ná príomhleagan in ainm na híomhá go bhfuil an staid is déanaí agat. Tarraing an íomhá bhunúsach as an nua go gníomhach agus seiceáil ina dhiaidh sin an leagan PHP sa choimeádán atá ag rith.
Bearta idirthréimhseacha agus cruatú
Mura féidir an nuashonrú a dhéanamh láithreach, molann php.net bearta idirthréimhseacha nach dtugann cosaint iomlán. Le FrankenPHP, socraíonn tú na luachanna in php.ini a luchtaíonn FrankenPHP nó trí shocruithe PHP i gcumraíocht Caddy, ní trí ini_set() san fheidhmchlár.
; php.ini sa choimeádán nó ar an óstach
session.upload_progress.enabled = 0
post_max_size = 8M
upload_max_filesize = 6M
Le feidhm uaslódála, luann php.net post_max_size = 32M. Ar PHP 8.5 cuirtear fatal_error_backtraces=0 leis. Baineann an teorainn chuimhne le leibhéal an choimeádáin, mar shampla trí theorainn chuimhne an choimeádáin, ní trí RLIMIT_AS ná RLIMIT_DATA. Tar éis gach athraithe, gach oibrí a atosú.
I gcás oibriú buan, is fiú íomhánna a thagairt le digest seasta, iad a atógáil go huathoibríoch go rialta agus scanóir íomhá a chur sa slabhra tógála. Ina theannta sin, ní bhaineann paiste bogearraí mailíseacha a cuireadh isteach roimhe sin. Coinnigh logaí ón 20.10.2026 i leith; i gcás coimeádán ciallaíonn sé sin iad a chosaint sula gcuirtear in ionad iad.
An té a úsáideann FrankenPHP mar binary tógtha go statach, ba cheart go mbeadh a fhios aige go bhfuil gach eisínteacht leabaithe go seasta ann seachas PHP amháin. Ciallaíonn nuashonrú dá bhrí sin i gcónaí an binary iomlán a athsholáthar. Seiceáil tar éis an athsholáthair an leagan agus liosta na n-eisínteachtaí luchtaithe, an bhfuil gach rud ar fáil mar a bhí roimhe, agus déan tástáil ar an bhfeidhmchlár sula scriosann tú an seanstaid. I dtimpeallachtaí coimeádán, molaimid gach íomhá a mharcáil le dáta na tógála. Mar sin is féidir leat a rianú aon uair cén staid a bhí ag rith cathain, agus dul siar go sonrach más gá, gan titim arís ar staid leochaileach. Taifead sannadh na híomhá, an leagain PHP agus an ama i do dhoiciméadú.
Conas a chabhraíonn PHP SOS go nithiúil?
- Seiceálaimid cén leagan PHP atá i do bhinaries FrankenPHP agus i do choimeádáin atá ag rith i ndáiríre.
- Tríd an seirbhís phaistithe PHP tógaimid íomhánna as an nua, cuirimid coimeádáin in ionad a chéile agus atosaímid gach oibrí, le cruthúnas.
- Cosnaímid logaí roimh an malartú agus seiceálaimid an feidhmchlár le haghaidh rianta.
- Le haghaidh oibriú buan socraímid atógálacha uathoibrithe agus seiceálacha íomhá mar chuid den chruatú freastalaí.
Ceisteanna coitianta
An gcabhraíonn nuashonrú apt nó dnf le FrankenPHP?
Ní chabhraíonn ach amháin má thagann FrankenPHP féin ó na foinsí pacáistí sin agus má tógadh é i gcoinne an PHP paistithe. Is minic go bhfuil PHP leabaithe go seasta sa binary FrankenPHP nó san íomhá coimeádáin. Sa chás sin ní mór duit an binary nó an íomhá a nuashonrú.
Cén fáth a bhfuil an mód oibrí thar a bheith tábhachtach i gcás PHP2Shell?
Sa mhód oibrí fanann an feidhmchlár sa chuimhne agus láimhseálann sé a lán iarratas ceann i ndiaidh a chéile sa phróiseas céanna. Baineann CVE-2026-109619 go beacht le staid inmheánach a fhéadfaidh maireachtáil idir iarratais san oibrí céanna. Dá bhrí sin tá sé éigeantach gach oibrí a atosú tar éis an nuashonraithe.
Conas a sheiceálaim cén leagan PHP atá i FrankenPHP?
Taispeánann an binary FrankenPHP an leagan PHP leabaithe nuair a iarrtar an leagan. Sa choimeádán is féidir leat an t-ordú a rith trí docker exec. Cinntigh go seiceálann tú an leagan sa choimeádán atá ag rith i ndáiríre, ní san íomhá a tógadh as an nua.
An bhfuil bearta idirthréimhseacha ar leith ann do FrankenPHP?
Baineann nótaí ginearálta php.net leis. Socraíonn tú na luachanna in php.ini a luchtaíonn FrankenPHP nó i gcumraíocht PHP an chomhaid Caddy, ní trí ini_set() san fheidhmchlár. Ina dhiaidh sin gach oibrí a atosú.