# php.ini mínithe: struchtúr, leibhéil agus tosaíocht

> php.ini mínithe: cá gcuardaíonn PHP a chumraíocht, cé na leibhéil atá ann, cad is brí le INI_SYSTEM agus INI_PERDIR agus cén luach atá i bhfeidhm ar deireadh.

Foinse: https://phpsos.de/ga/php/php-ini-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:** Is é php.ini príomhchomhad cumraíochta PHP. Léann PHP é ag an tús, aon uair amháin le modúil freastalaí, le gach glao le CGI agus CLI. Chomh maith leis sin tá comhaid bhreise as eolaire scanta, socruithe sa linn FPM nó in Apache, `.htaccess` nó `.user.ini` agus `ini_set()` sa chód. Cinneann a mhodh athraithe cén leibhéal a fhéadfaidh luach a athrú, mar shampla `INI_SYSTEM` nó `INI_PERDIR`. Ní féidir leis an bhfeidhmchlár luachanna trí `php_admin_value` a fhorscríobh a thuilleadh.

## Cad is php.ini ann?

Is comhad téacs é php.ini le hiontrálacha de réir an phatrúin `name = wert`. Socraíonn sé conas a iompraíonn PHP: cé mhéad cuimhne a fhéadfaidh script a úsáid, an dtaispeántar earráidí sa bhrabhsálaí, conas a oibríonn seisiúin agus cé na heisínteachtaí a luchtaítear. Tosaíonn tuairimí le leathstad.

De réir lámhleabhar PHP, léitear an comhad nuair a thosaíonn PHP. Le modúil freastalaí ar nós mod_php tarlaíonn sé sin aon uair amháin, nuair a thosaíonn an freastalaí gréasáin, le CGI agus CLI le gach glao. Léann PHP-FPM a chumraíocht ag an tús agus nuair a athluchtaítear an tseirbhís. Mar sin de ghnáth ní bhíonn éifeacht ag athrú gan atosú nó athluchtú.

Ó PHP 8.3 i leith, de réir an lámhleabhair, is féidir le hiontráil tagairt a dhéanamh d'athróg timpeallachta le luach ionaid:

```ini
memory_limit = ${PHP_MEMORY_LIMIT}
max_execution_time = ${PHP_MAX_EXECUTION_TIME:-30}
```

## Cá gcuardaíonn PHP an php.ini?

Déanann an lámhleabhar cur síos ar ord seasta. Ar dtús tá cosán a socraíodh go sainráite i bhfeidhm, mar shampla `PHPIniDir` in Apache nó an rogha `-c` le CGI agus CLI. Ar shlí eile tógann PHP cosán cuardaigh as:

1. an athróg timpeallachta `PHPRC`,
2. faoi Windows, an iontráil chlárlainne `IniFilePath`,
3. an eolaire oibre reatha, ach amháin i SAPInna a mhúchann é sin, mar shampla an CLI,
4. eolaire an chomhaid dhénártha PHP nó an mhodúil,
5. an cosán `--with-config-file-path` a socraíodh le linn tiomsaithe.

Sa chosán cuardaigh seo, cuardaíonn PHP comhad `php-SAPI.ini` ar dtús, mar shampla `php-cli.ini`, agus ansin `php.ini` amháin. Ina dhiaidh sin léann PHP gach comhad `.ini` as an eolaire scanta, a shocraítear trí `PHP_INI_SCAN_DIR` nó le linn tiomsaithe trí `--with-config-file-scan-dir`, in ord aibítre. Taispeánann `php --ini` nó an fheidhm `php_ini_scanned_files()` cé na comhaid a luchtaíodh.

```bash
php --ini
php -r 'var_dump(php_ini_loaded_file(), php_ini_scanned_files());'
```

Taispeánann an dá ordú staid na líne ordaithe. Don suíomh gréasáin, féadfaidh comhad eile a bheith i bhfeidhm, mar is féidir cumraíocht dá chuid féin a bheith ag gach SAPI; tuilleadh ag [SAPI mínithe](https://phpsos.de/ga/php/sapi-erklaert/).

## Modhanna athraithe: cé a fhéadfaidh cén luach a leagan síos?

Ní féidir gach socrú a leagan síos i ngach áit. Sanntar mód athraithe do gach treoir sa lámhleabhar:

| Mód | Cá bhféadfar an luach a leagan síos |
|---|---|
| `INI_USER` | i scripteanna trí `ini_set()`, sa chlárlann Windows agus i `.user.ini` |
| `INI_PERDIR` | in php.ini, `.htaccess`, `httpd.conf` nó `.user.ini` |
| `INI_SYSTEM` | in php.ini nó `httpd.conf` amháin |
| `INI_ALL` | i ngach áit |

Samplaí ón lámhleabhar: tá `memory_limit` sa mhód `INI_ALL` agus an réamhshocrú `128M`, tá `post_max_size` sa mhód `INI_PERDIR` agus an réamhshocrú `8M`, tá `upload_max_filesize` sa mhód `INI_PERDIR` agus an réamhshocrú `2M`. Ní fhéadfaidh `expose_php` a bheith ach in php.ini.

De réir an lámhleabhair, ní léann ach SAPInna CGI agus FastCGI comhaid `.user.ini`, mar sin PHP-FPM freisin. Cuardaíonn PHP iad ó eolaire an script suas go dtí an Document Root agus léann sé arís iad uair amháin gach 300 soicind ar a mhéad de réir réamhshocraithe (`user_ini.cache_ttl`). Faoi mod_php glacann `.htaccess` an ról seo.

## Cén luach atá i bhfeidhm ar deireadh? Na leibhéil de réir tosaíochta

Go simplí: dá déanaí a théann leibhéal i bhfeidhm, is dóichí a rachaidh a luach i gcrích, ach amháin má cheadaíonn an mód athraithe é.

1. **php.ini** den SAPI ábhartha
2. **Comhaid bhreise** as an eolaire scanta, in ord aibítre
3. **Cumraíocht an fhreastalaí:** linn FPM le `php_value` nó `php_admin_value`, VirtualHost Apache
4. **Leibhéal eolaire:** `.htaccess` le mod_php, `.user.ini` le FPM agus CGI
5. **Am rite:** `ini_set()` i gcód an fheidhmchláir

Tá an eisceacht ríthábhachtach: ní féidir luachanna trí `php_admin_value` nó `php_admin_flag` a fhorscríobh trí `ini_set()`, de réir an lámhleabhair. Leis sin cuireann riarthóirí socruithe a bhaineann le slándáil faoi ghlas in aghaidh an fheidhmchláir. Tá cur síos mionsonraithe air ag [php_admin_value: socruithe a chur faoi ghlas i gcoinne forscríobh](https://phpsos.de/ga/blog/php-admin-value-sperren/).

## An php.ini tar éis PHP2Shell: cad atá athraithe

Is socruithe INI beagnach iad bearta idirthréimhseacha php.net i gcoinne PHP2Shell: `memory_limit=-1` faoi ghlas i gcoinne forscríobh, `post_max_size` teoranta, `session.upload_progress.enabled=0` agus ar PHP 8.5 `fatal_error_backtraces=0`. Cuireann php.net i bhfios nár cheart `session.upload_progress.enabled` a leagan síos trí `ini_set()` ná `.user.ini`, ach in php.ini, i linn FPM nó i gcumraíocht an fhreastalaí, le hatosú gach oibrí ina dhiaidh sin. Tá an liosta iomlán ag [Bearta láithreacha mura féidir leat paistiú fós](https://phpsos.de/ga/php2shell/sofortmassnahmen-ohne-patch/).

Leis na leaganacha ceartaithe 8.5.12, 8.4.27, 8.3.36 agus 8.2.35, d'athraigh `memory_limit` freisin, de réir an lámhleabhair: is teorainn bhog é anois. Socraíonn an socrú nua `memory_hard_limit_percent` teorainn chrua. Gan luach dá chuid féin, is é dhá oiread `memory_limit` é, i gcás níos mó ná `1G` an luach móide `1G`. Má sháraítear é, críochnaíonn an próiseas láithreach le stádas scoir 137. Míníonn [memory_limit a leagan síos i gceart](https://phpsos.de/ga/blog/memory-limit-richtig-setzen/) conas an dá theorainn a roghnú go ciallmhar.

> **Leid:**
> De réir an lámhleabhair: mura n-aithníonn leagan PHP `memory_hard_limit_percent`, bíonn tionchar ag CVE-2026-109618 agus CVE-2026-109619 air. I gcás dáiltí le backports, cruthaíonn changelog an phacáiste an staid freisin.

## Conas a chabhraíonn PHP SOS go praiticiúil?

- **Luachanna éifeachtacha a fháil amach:** Léimid amach do gach SAPI cé na comhaid a luchtaítear agus cén luach atá i bhfeidhm ar deireadh.
- **Leibhéil a ghlanadh:** Baineann muid iontrálacha contrártha as painéil, linnte, `.htaccess` agus `.user.ini`.
- **Glais a leagan síos:** Mar chuid de [chruatú freastalaí](https://phpsos.de/ga/leistungen/server-haertung/) socraímid luachanna a bhaineann le slándáil trí `php_admin_value`.
- **Cruthúnas:** Déanaimid socruithe agus atosú a dhoiciméadú ionas gur féidir an staid a chruthú ar ball.


## Ceisteanna coitianta

**Cá bhfuil an php.ini?**  
Braitheann sé ar an gcóras oibriúcháin, ar an bpacáiste agus ar an SAPI. Faoi Debian agus Ubuntu tá fillteáin dá gcuid féin ann do gach leagan agus SAPI, mar shampla /etc/php/8.3/fpm/php.ini agus /etc/php/8.3/cli/php.ini. Ar an líne ordaithe taispeánann php --ini na comhaid luchtaithe; don suíomh gréasáin cabhraíonn php_ini_loaded_file() i gcomhad seiceála sealadach.

**In ordú cén sraith a léitear na comhaid san fhillteán conf.d?**  
De réir lámhleabhar PHP, léann PHP gach comhad leis an iarmhír .ini sa eolaire scanta in ord aibítre. Forscríobhann comhaid níos déanaí luachanna na gcinn níos luaithe. Dá bhrí sin, bíonn uimhreacha ar nós 20- nó 99- in ainm a lán comhad.

**Cén fáth nach bhfuil éifeacht ag m'athrú ar php.ini?**  
Cúiseanna coitianta: athraíodh comhad SAPI eile, níor atosaíodh an tseirbhís, forscríobhann luach i linn FPM, i gcumraíocht Apache nó i .user.ini é, nó athscríobhann painéal óstála an comhad an chéad uair eile a shábháiltear.

**Cad é memory_hard_limit_percent?**  
Socrú nua a tugadh isteach, de réir lámhleabhar PHP, le heisiúintí slándála an 21.10.2026. Leagann sé teorainn chrua cuimhne síos mar chéatadán de memory_limit. Tugann an lámhleabhar le fios go mbíonn tionchar ag leochaileachtaí PHP2Shell ar leagan PHP nach n-aithníonn an socrú seo.

## Foinsí

- [Lámhleabhar PHP: An comhad cumraíochta](https://www.php.net/manual/en/configuration.file.php)
- [Lámhleabhar PHP: Modhanna athraithe INI](https://www.php.net/manual/en/configuration.changes.modes.php)
- [Lámhleabhar PHP: Comhaid .user.ini](https://www.php.net/manual/en/configuration.file.per-user.php)
- [Lámhleabhar PHP: Socruithe croí](https://www.php.net/manual/en/ini.core.php)
