# Issettja memory_limit sew

> Issettja memory_limit ta' PHP sew: x'jagħmel, fejn japplika, x'jirrakkomanda php.net temporanjament għal PHP2Shell u x'għandu jgħodd wara l-aġġornament.

Sors: https://phpsos.de/mt/blog/memory-limit-richtig-setzen/  
Stat: 25/10/2026  
Fornitur: PHP SOS, Għajnuna ta' emerġenza għal PHP u sigurtà tas-server. Għajnuna immedjata fuq WhatsApp: https://wa.me/491736494914?text=Bongu%20PHP%20SOS%2C%20g%C4%A7andna%20b%C5%BConn%20g%C4%A7ajnuna%20bis-server%20tal-PHP%20tag%C4%A7na.%20Kumpanija%3A%20%E2%80%A6%20Websajt%3A%20%E2%80%A6

**Fil-qosor:** `memory_limit` jiddetermina kemm jista' jokkupa mill-memorja talba waħda ta' PHP; l-istandard huwa 128M. Fl-operat normali ssettja valur finit li jaqbel mal-applikazzjoni u ibblokkah b'`php_admin_value`. Sakemm PHP2Shell ma jkunx ippatchjat, php.net jirrakkomanda temporanjament `memory_limit=-1`, mhux megħlub u kkombinat ma' limitu permezz ta' container jew cgroup, mhux permezz ta' `RLIMIT_AS` jew `RLIMIT_DATA`. Wara l-aġġornament terġa' tgħodd valur finit.

## Issettjar ta' rutina li fl-għarrieda saret kwistjoni ta' sigurtà

Għal snin sħaħ `memory_limit` kien vit għall-iżviluppaturi. Jekk websajt tirrapporta „Allowed memory size exhausted”, il-valur jittella' u l-problema titqies solvuta. B'PHP2Shell sar suġġett ta' sigurtà, u r-rakkomandazzjoni ta' php.net tidher paradossali fl-ewwel ħarsa: għat-tranżizzjoni l-limitu tal-memorja ta' PHP innifsu għandu jitneħħa għal kollox.

L-isfond huwa CVE-2026-109618. Skont il-proġett PHP, stat ta' out-of-memory jista' jinterrompi PHP waqt li d-data tat-talba tkun inizjalizzata biss parzjalment. It-tindif tat-talba jista' mbagħad jittratta data invalida bħala valida. Dettalji tekniċi jinsabu taħt [CVE-2026-109618](https://phpsos.de/mt/php2shell/cve-2026-109618/), x'jiġri ġewwa PHP meta tonqos il-memorja jispjegah [memory_limit u Out-of-Memory](https://phpsos.de/mt/php/out-of-memory/). Għall-operaturi tgħodd il-mistoqsija: liema valur japplika meta, u fejn irid jinsab?

## X'jagħmel memory_limit fl-operat normali

Skont il-manwal ta' PHP, `memory_limit` jillimita l-memorja li skript jista' jokkupa u hekk jipproteġi s-server minn kodiċi miktub ħażin. L-istandard huwa `128M`, `-1` ifisser l-ebda limitu. Notazzjonijiet qosra bħal `256M` jew `1G` huma permessi.

Żewġ karatteristiċi huma importanti għas-sigurtà. L-ewwelnett, il-valur jista' jinbidel kullimkien, anke waqt it-tħaddim b'`ini_set()`. Ħafna CMS u ħwienet jgħollu huma stess, pereżempju għall-importazzjonijiet jew l-ipproċessar tal-immaġini. Min irid jimponi valur irid jissettjah b'`php_admin_value`; skont il-manwal valuri ssettjati hekk ma jistgħux jiġu megħlubin b'`ini_set()`. It-tieni, il-manwal jirrakkomanda li `memory_limit` ikun akbar minn `post_max_size`.

Liema valur jaqbel jiddependi mill-applikazzjoni. Ħarsa lejn il-log tal-iżbalji turi jekk jidhrux messaġġi dwar memorja eżawrita u f'liema sejħiet. Ippruvat tajjeb li l-valur jiġi ffissat għal kull websajt fil-pool FPM proprju tagħha: aktar ġeneruż għal ħanut b'importazzjonijiet, aktar skars għal websajt sempliċi ta' kumpanija. Valur għoli ħafna għal kulħadd jitlef l-effett protettiv, għax allura talba waħda difettuża jew abbużata tista' torbot ħafna memorja.

Minn PHP 8.5 hemm ukoll `max_memory_limit`. Dan l-issettjar jista' jiġi ffissat biss mal-bidu u jillimita sa fejn jista' jiġi ssettjat `memory_limit`. Valuri ogħla jitnaqqsu b'twissija. L-istandard `-1` ifisser l-ebda limitu massimu.

## memory_limit wara PHP2Shell: il-miżura tranżitorja ta' php.net

Għal servers li għadhom mhux aġġornati għal 8.5.12, 8.4.27, 8.3.36 jew 8.2.35 jew għal backport ikkonfermat, php.net jsemmi fl-avviż tas-sigurtà tal-21/10/2026 dawn il-passi. Inaqqsu r-riskju ta' mogħdijiet individwali ta' attakk, imma skont php.net ma jagħmlux installazzjoni sigura:

1. **Ssettja `memory_limit=-1`,** possibbilment b'mod li l-applikazzjonijiet ma jistgħux jegħlbu l-valur, pereżempju b'`php_admin_value` fil-pool FPM jew fil-konfigurazzjoni ta' Apache.
2. **Ivverifika li mkien ma jerġa' jiġi ssettjat limitu finit,** la f'pool ieħor, la f'konfigurazzjoni ta' direttorju u lanqas fl-applikazzjoni.
3. **Ssettja limitu tal-memorja permezz ta' container jew cgroup,** bħala protezzjoni tad-disponibbiltà, possibbilment b'mod li meta jinqabeż jitwaqqaf biss il-worker affettwat.
4. **Tużax `RLIMIT_AS` jew `RLIMIT_DATA`.** Skont php.net, dawn il-limiti jistgħu jattivaw eżattament l-iżball vulnerabbli fit-talba tal-memorja.

php.net jispjega f'dan il-kuntest li `-1` ineħħi l-possibbiltà li jintlaħaq b'mod immirat il-limitu tal-memorja ta' PHP, imma żball tal-memorja f'livell aktar fil-fond xorta jista' jilħaq il-mogħdija vulnerabbli. Il-ħarsa ġenerali tal-miżuri tranżitorji kollha tinsab taħt [Miżuri immedjati meta ma tistax tippatchja għadek](https://phpsos.de/mt/php2shell/sofortmassnahmen-ohne-patch/).

```ini
; Pool FPM, pereżempju /etc/php/8.3/fpm/pool.d/www.conf (biss sal-aġġornament)
php_admin_value[memory_limit] = -1
```

```bash
# Fejn kullimkien huwa ssettjat memory_limit (qari biss)
grep -rn 'memory_limit' /etc/php/ /etc/apache2/ 2>/dev/null
grep -rn --include='*.php' -E "ini_set\s*\(\s*['\"]memory_limit" /var/www | head -20
grep -rn --include='.user.ini' 'memory_limit' /var/www
```

Kif tissettja l-limitu tas-cgroup għas-servizz FPM tiddeskrivih [Issettja limiti tal-memorja b'systemd u cgroups](https://phpsos.de/mt/blog/speichergrenzen-systemd-cgroups/). Mingħajr dan il-limitu estern talba waħda tista' ġġib is-server kollu f'nuqqas ta' memorja.

> **Importanti:**
> Wara kull bidla erġa' ibda l-workers kollha ta' PHP. Worker li jaħdem iżomm il-valuri qodma tiegħu.

## X'jgħodd wara l-aġġornament

Bil-verżjonijiet rranġati, skont il-manwal ta' PHP, inbidlet ukoll l-imġiba ta' `memory_limit`. Minn 8.5.12, 8.4.27, 8.3.36 u 8.2.35 huwa limitu artab: talba tal-memorja li taqbeżu ġeneralment tista' tkompli tintemm qabel ma jiġi attivat l-iżball. Issettjar ġdid, `memory_hard_limit_percent`, jiffissa limitu iebes li qatt ma jinqabeż.

| Issettjar | Valur | Effett skont il-manwal |
|---|---|---|
| `memory_hard_limit_percent` mhux issettjat jew `-1` | standard | limitu iebes darbtejn ogħla minn `memory_limit` sa 1G, aktar minn hekk `memory_limit` plus 1G |
| `memory_hard_limit_percent = 150` | eżempju | b'`memory_limit=128M` limitu iebes ta' 192M |
| `memory_limit = -1` | l-ebda limitu | allura m'hemm l-ebda limitu iebes |

Il-manwal isemmi punt prattiku ta' verifika: jekk `memory_hard_limit_percent` ma jiġix magħruf, il-verżjoni ta' PHP użata hija affettwata u trid tiġi aġġornata. Fil-każ ta' backports tad-distribuzzjonijiet ivverifika l-istat addizzjonalment permezz tal-changelog tal-pakkett.

```bash
# Il-binarju FPM jagħraf l-issettjar il-ġdid? (adatta n-numru tal-verżjoni)
php-fpm8.3 -i | grep -E 'memory_hard_limit_percent|memory_limit'
```

Wara l-aġġornament `memory_limit=-1` temm l-iskop tiegħu. Irritorna għal valur finit li jaqbel mal-applikazzjoni u ibblokkah b'`php_admin_value`. Il-limitu tas-cgroup jista' jibqa' bħala saff addizzjonali ta' protezzjoni.

## Kif tgħin PHP SOS b'mod konkret?

- Niddeterminaw fejn fuq is-server tiegħek huwa ssettjat u megħlub `memory_limit`, inklużi l-applikazzjonijiet.
- Nimplimentaw il-miżuri tranżitorji ta' php.net fil-post t-tajjeb u nżidu limitu tas-cgroup għas-servizz FPM.
- Permezz tas-[Servizz ta' patch ta' PHP](https://phpsos.de/mt/leistungen/php-patch-service/) inġibu PHP għal stat rranġat u nerġgħu nibdew il-workers kollha.
- Wara nerġgħu nissettjaw valur finit xieraq u niddokumentaw l-issettjar.


## Mistoqsijiet frekwenti

**X'inhu l-valur standard ta' memory_limit?**  
Skont il-manwal ta' PHP 128M. Il-valur jillimita kemm jista' jokkupa skript wieħed mill-memorja. Jista' jinbidel fil-php.ini, fil-konfigurazzjoni tas-server, fil-pool FPM u waqt it-tħaddim b'ini_set(), basta ma jkunx imblukkat b'php_admin_value.

**Għaliex php.net jirrakkomanda memory_limit=-1 f'PHP2Shell?**  
Waħda mill-vulnerabbiltajiet, CVE-2026-109618, hija relatata mal-istat meta tonqos il-memorja. Skont php.net memory_limit=-1 ineħħi l-possibbiltà li jintlaħaq b'mod immirat il-limitu tal-memorja ta' PHP, imma mhux kull żball tal-memorja. Il-miżura mhijiex protezzjoni sħiħa u trid tiġi kkombinata ma' limitu tal-memorja permezz ta' container jew cgroup.

**Nista' minflok nissettja l-limitu b'ulimit?**  
Le. php.net jiskoraġġixxi b'mod espliċitu l-użu ta' RLIMIT_AS jew RLIMIT_DATA bħala sostitut, għax dawn il-limiti jistgħu jattivaw eżattament l-iżball vulnerabbli fit-talba tal-memorja. Jirrakkomanda limitu permezz ta' container jew cgroup.

**X'jgħodd wara l-aġġornament għal verżjoni rranġata ta' PHP?**  
Skont il-manwal, fil-verżjonijiet rranġati memory_limit huwa limitu artab, kkomplementat minn limitu iebes permezz ta' memory_hard_limit_percent. Il-miżura tranżitorja b'-1 imbagħad temmet l-iskop tagħha, u valur finit li jaqbel mal-applikazzjoni għandu jerġa' jgħodd.

## Sorsi

- [php.net: avviż tas-sigurtà tal-21/10/2026](https://www.php.net/)
- [Manwal ta' PHP: issettjar tal-qalba (memory_limit)](https://www.php.net/manual/en/ini.core.php)
- [Manwal ta' PHP: konfigurazzjoni ta' FPM](https://www.php.net/manual/en/install.fpm.configuration.php)
