# PHP-FPM mínithe: bainisteoir próisis, linnte agus oibrithe

> PHP-FPM mínithe: conas a oibríonn máistir, linnte agus oibrithe, cad is brí le pm static, dynamic agus ondemand agus cé na socruithe linne a sholáthraíonn slándáil.

Foinse: https://phpsos.de/ga/php/php-fpm-erklaert/  
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:** Ritheann PHP-FPM (FastCGI Process Manager) PHP mar sheirbhís ar leith taobh leis an bhfreastalaí gréasáin. Bainistíonn próiseas máistir linnte, agus tosaíonn gach linn oibrithe a láimhseálann iarratais trí FastCGI. Is féidir linnte a rith do gach suíomh gréasáin le húsáideoir dá gcuid féin, le teorainneacha dá gcuid féin agus le socruithe PHP faoi ghlas. Toisc go láimhseálann oibrithe a lán iarratas ceann i ndiaidh a chéile, ní mór iad go léir a atosú tar éis nuashonraithe PHP.

## Cad is PHP-FPM ann?

Déanann lámhleabhar PHP cur síos ar FPM mar phríomhchur i bhfeidhm FastCGI de chuid PHP le feidhmeanna a bhfuil úsáid ar leith iontu do shuíomhanna gréasáin faoi ualach mór. Cuireadh FPM isteach le PHP 5.3.3 mar SAPI ar leith, is é sin mar mhód oibriúcháin ar leith. `fpm-fcgi` is ainm SAPI dó.

An difríocht ó mod_php: ní ritheann PHP sa fhreastalaí gréasáin, ach mar sheirbhís ar leith. Cuireann Nginx, Apache nó freastalaí gréasáin eile iarratais PHP ar aghaidh tríd an bprótacal FastCGI agus faigheann sé an freagra críochnaithe ar ais. Mar sin is féidir an freastalaí gréasáin agus PHP a atosú, a chumrú agus a chosaint go neamhspleách ar a chéile. Conas a oibríonn FastCGI go bunúsach, tá sé ag [CGI agus FastCGI](https://phpsos.de/ga/php/cgi-und-fastcgi/).

## Máistir, linnte agus oibrithe: an múnla próisis

Tá trí leibhéal i PHP-FPM:

1. **Próiseas máistir:** léann sé an chumraíocht, osclaíonn sé na soicéid agus tosaíonn nó críochnaíonn sé oibrithe. Ní ritheann sé cód feidhmchláir é féin.
2. **Linnte:** Tá ainm, soicéad nó calafort, úsáideoir Unix agus socruithe PHP ar leith ag gach linn. Luann an lámhleabhar go sainráite uid, gid, chroot, timpeallacht agus php.ini éagsúla do gach linn.
3. **Oibrithe:** próisis de linn a ghlacann le hiarratais agus a ritheann iad. Láimhseálann oibrí a lán iarratas ceann i ndiaidh a chéile sula gcuirtear ceann eile ina áit.

Socraíonn an bainisteoir próisis le treoir `pm` cé mhéad oibrí atá ag rith:

| Mód | Iompar | Treoracha tábhachtacha |
|---|---|---|
| `static` | líon seasta oibrithe | `pm.max_children` |
| `dynamic` | oibrithe idir teorainn íochtair agus uachtair | `pm.start_servers`, `pm.min_spare_servers`, `pm.max_spare_servers` |
| `ondemand` | oibrithe nuair a bhíonn gá leo amháin, á ndíchur tar éis neamhghníomhaíochta | `pm.process_idle_timeout` (réamhshocrú 10s) |

Cuireann `pm.max_children` teorainn leis an líon iarratas comhuaineacha i ngach mód. Cuireann `pm.max_requests` oibrí in ionad tar éis líon seasta iarratas; ciallaíonn an réamhshocrú 0 gan teorainn.

Braitheann an mód a oireann ar an ualach. Coinníonn `static` an líon céanna oibrithe réidh i gcónaí agus tá sé oiriúnach d'fheidhmchláir a úsáidtear go cothrom go trom agus a bhfuil go leor cuimhne acu. Is comhréiteach é `dynamic` don chuid is mó de shuíomhanna gréasáin. Sábhálann `ondemand` cuimhne ar fhreastalaithe le go leor suíomhanna beaga, mar ní áitíonn linnte gan cuairteoirí aon oibrí; ach tógann an chéad iarratas tar éis sosa beagán níos faide. Má shocraítear `pm.max_children` ró-ard, is féidir leis an bhfreastalaí a thiomáint i nganntanas cuimhne le linn buaicanna ualaigh; má shocraítear róíseal é, tagann moilleanna agus teachtaireachtaí earráide ón bhfreastalaí gréasáin.

## Linn le bunshocruithe slána

Sampla de linn ar leith do gach suíomh gréasáin, le treoracha ó lámhleabhar PHP. Is samplaí iad cosáin agus luachanna:

```ini
; /etc/php/8.3/fpm/pool.d/kunde-a.conf
[kunde-a]
user = kunde-a
group = kunde-a

listen = /run/php/kunde-a.sock
listen.owner = www-data
listen.group = www-data
listen.mode = 0660

pm = ondemand
pm.max_children = 10
pm.process_idle_timeout = 10s

request_terminate_timeout = 60s
security.limit_extensions = .php
clear_env = yes

php_admin_value[open_basedir] = /var/www/kunde-a:/tmp
php_admin_flag[session.upload_progress.enabled] = off
php_admin_value[error_log] = /var/log/php/kunde-a.error.log
```

De réir an lámhleabhair, is féidir luachanna trí `php_value` agus `php_flag` a athrú le linn an ama rite le `ini_set()`, ach ní féidir luachanna trí `php_admin_value` agus `php_admin_flag`. Tá `security.limit_extensions` socraithe go `.php .phar` de réir réamhshocraithe agus socraíonn sé cé na iarmhíreanna comhad a ritheann FPM mar phríomhscript. Is é `clear_env = yes` an réamhshocrú agus folmhaíonn sé timpeallacht na n-oibrithe.

Le haghaidh faireacháin, tá leathanach stádais ann trí `pm.status_path` agus leathanach ping trí `ping.path`. Níor cheart don dá cheann a bheith inrochtana ach go hinmheánach. Logálann FPM iarratais mhalla le backtrace nuair a bhíonn `request_slowlog_timeout` agus `slowlog` socraithe.

> **Tábhachtach:**
> Tugann lámhleabhar PHP rabhadh: tá cumraíocht an iarratais á rialú ag duine ar bith atá in ann nasc FastCGI le PHP-FPM a oscailt, agus is féidir leis cód ar bith a rith dá bharr. Ní mór PHP-FPM a bheith inrochtana riamh ó líonra nach bhfuil iontaofa. Úsáid soicéad Unix nó `listen.allowed_clients`.

## Cén ról atá ag PHP-FPM i PHP2Shell?

Tá PHP-FPM i measc na modhanna oibriúcháin a ndéanann an leochaileacht difear dóibh. Tá an múnla próisis le feiceáil go háirithe i gcás CVE-2026-109619: is féidir le staid inmheánach a bhaineann leis an iarratas maireachtáil tar éis na cuimhne a shaoradh, agus is féidir le hiarratas níos déanaí san oibrí céanna í a úsáid sula n-athshocraítear í. Ní féidir é sin ach toisc go láimhseálann oibrithe a lán iarratas ceann i ndiaidh a chéile.

Leanann trí dhualgas as sin:

1. **An nuashonrú a shuiteáil:** PHP 8.5.12, 8.4.27, 8.3.36 nó 8.2.35 nó backport deimhnithe ón dáileadh.
2. **Gach oibrí a atosú:** Ní athraíonn comhaid nua ar an diosca aon rud fad is atá seanoibrithe ag rith. Baineann sé seo le gach leagan FPM suiteáilte agus le gach linn. Tá na horduithe ag [PHP-FPM agus gach oibrí a atosú](https://phpsos.de/ga/php2shell/php-fpm-neustart/).
3. **Luachanna idirthréimhseacha a leagan síos faoi ghlas:** Baineann bearta php.net, mar shampla `session.upload_progress.enabled=0`, leis an linn trí `php_admin_value` nó `php_admin_flag`, ní le `.user.ini`.

Ní thagann scaradh i linnte in ionad nuashonraithe, ach cuireann sé teorainn leis an damáiste: má ritheann gach suíomh gréasáin faoi úsáideoir dá chuid féin, ní shroicheann ionsaitheoir comhaid na gcinn eile go huathoibríoch tar éis briseadh isteach. Déanann [Linnte PHP-FPM a scaradh do gach suíomh gréasáin](https://phpsos.de/ga/blog/php-fpm-pools-isolieren/) cur síos ar an gcuma atá air go nithiúil; tá an tsuimiú in Nginx ag [Nginx le PHP-FPM a chosaint](https://phpsos.de/ga/server/nginx-php-fpm/).

## Conas a chabhraíonn PHP SOS go praiticiúil?

- **Linnte a thaifeadadh:** Liostaímid gach leagan FPM, linn, úsáideoir agus soicéad ar do fhreastalaí.
- **Paistiú agus atosú:** Nuashonraímid PHP agus cruthaímid trí amanna tosaithe nach bhfuil seanoibrí ag rith a thuilleadh.
- **Linnte a scaradh:** Mar chuid de [chruatú freastalaí](https://phpsos.de/ga/leistungen/server-haertung/) socraímid linn do gach suíomh gréasáin le húsáideoir dá chuid féin agus socruithe faoi ghlas.
- **Inrochtaineacht a sheiceáil:** Deimhnímid nach bhfuil soicéid FastCGI ná leathanaigh stádais inrochtana ón taobh amuigh.


## Ceisteanna coitianta

**Cad is brí le FPM?**  
Seasann FPM do FastCGI Process Manager. Déanann lámhleabhar PHP cur síos air mar phríomhchur i bhfeidhm FastCGI de chuid PHP le feidhmeanna a bhfuil úsáid ar leith iontu do shuíomhanna gréasáin faoi ualach mór. Cuireadh isteach é le PHP 5.3.3.

**Cad é an difríocht idir linn agus oibrí?**  
Is grúpa de phróisis oibrí le cumraíocht chomhroinnte é linn: úsáideoir, soicéad, teorainneacha agus socruithe PHP. Is próiseas aonair é oibrí a láimhseálann iarratais ceann i ndiaidh a chéile. Is féidir go leor linnte a bheith ar fhreastalaí, mar shampla ceann do gach suíomh gréasáin.

**An ceart PHP-FPM a bheith inrochtana trí TCP nó trí shoicéad Unix?**  
Má ritheann an freastalaí gréasáin ar an óstach céanna, molann lámhleabhar PHP soicéad Unix. Le TCP ní mór listen.allowed_clients a leagan síos, mar ar shlí eile féadfaidh gach seoladh ceangal a dhéanamh. Ceadaíonn calafort FastCGI atá oscailte do dhuine ar bith rith cóid ar bith, de réir an lámhleabhair.

**An gcosnaíonn pm.max_requests i gcoinne leochaileachtaí mar PHP2Shell?**  
Ní chosnaíonn. Cuireann pm.max_requests oibrí in ionad tar éis líon seasta iarratas agus cabhraíonn sé go príomha i gcoinne sceitheadh cuimhne in eisínteachtaí. I gcoinne leochaileachta san ateangaire ní chabhraíonn ach an nuashonrú agus atosú gach oibrí ina dhiaidh sin.

## Foinsí

- [Lámhleabhar PHP: FastCGI Process Manager](https://www.php.net/manual/en/install.fpm.php)
- [Lámhleabhar PHP: Cumraíocht FPM](https://www.php.net/manual/en/install.fpm.configuration.php)
- [php.net: Eisiúint PHP 5.3.3](https://www.php.net/releases/5_3_3.php)
- [php.net: Fógraí slándála](https://www.php.net/)
