---
title: "Wat is user.ini? Uitleg en betekenis | Keurig Online"
description: "user.ini, voluit .user.ini, is een PHP-configuratiebestand waarmee je per map instellingen aanpast zonder php.ini te wijzigen."
canonical: https://www.keurigonline.nl/begrippenlijst/user.ini
last_modified: 2025-12-18
---

[Terug naar begrippenlijst](https://www.keurigonline.nl/begrippenlijst)

# user.ini

user.ini, voluit .user.ini, is een PHP-configuratiebestand waarmee je per map instellingen aanpast zonder php.ini te wijzigen.

Actueel: [PHP-lek PHP2Shell (session.upload\_progress): status en wat je moet doen](https://www.keurigonline.nl/blog/php-kwetsbaarheid-session-upload-progress)

Een .user.ini is een klein configuratiebestand waarmee je PHP-instellingen per map aanpast, zonder dat je bij de centrale php.ini hoeft te komen. Het bestand heet officieel .user.ini, met een punt ervoor, waardoor het op Linux een verborgen bestand is. Je zet er gewone ini-regels in, zoals memory\_limit = 256M of upload\_max\_filesize = 64M.

PHP zoekt naar .user.ini-bestanden in de map van het opgevraagde script en daarna in de bovenliggende mappen, tot aan de documentroot, meestal public\_html. Instellingen die alleen in php.ini mogen staan, zoals disable\_functions, slaat PHP hier over. De bestanden worden ook niet bij elk verzoek opnieuw gelezen, want user\_ini.cache\_ttl staat standaard op 300 seconden, dus een wijziging kan vijf minuten duren.

Het bestand werkt alleen als PHP via CGI of FastCGI draait, zoals bij PHP-FPM. Onder mod\_php gebruik je in plaats daarvan php\_value-regels in .htaccess, en LiteSpeed leest .user.ini alleen als de beheerder dat heeft aangezet. Let ook op oude bestanden: na het PHP-lek van oktober 2026 kon een vergeten .user.ini een uitgeschakelde instelling als session.upload\_progress per map weer aanzetten.

Op de CloudLinux-servers van KeurigOnline (cl01 tot en met cl09) stel je PHP-waarden het makkelijkst in via Select PHP Version en Options in DirectAdmin. Op een server waar PHP via PHP-FPM draait, zet je de .user.ini in public\_html. Na vijf minuten controleer je met phpinfo() of de nieuwe waarde in de kolom Local Value staat.

## Geschiedenis

Voor er .user.ini was, kon je PHP-instellingen per map alleen aanpassen met php\_value in .htaccess, en dat werkt alleen als PHP als module in Apache draait. Voor CGI en FastCGI bestond de PECL-extensie htscanner, die .user.ini volgens de [PHP-handleiding](https://www.php.net/manual/en/configuration.file.per-user.php) overbodig maakte.

Belangrijke mijlpalen:

- **30 juni 2009:** PHP 5.3.0 introduceert .user.ini met user\_ini.filename en user\_ini.cache\_ttl ([changelog](https://www.php.net/ChangeLog-5.php#5.3.0))
- **22 juli 2010:** [PHP 5.3.3](https://www.php.net/releases/5_3_3.php) levert PHP-FPM mee, de opstelling waarin .user.ini nu het vaakst wordt gebruikt
- **Oktober 2026:** Na het lek CVE-2026-109618 waarschuwen hosters dat een oude .user.ini session.upload\_progress niet weer mag aanzetten

## Bronnen

1. **PHP.net** - [.user.ini files](https://www.php.net/manual/en/configuration.file.per-user.php)
2. **PHP.net** - [Where a configuration setting may be set](https://www.php.net/manual/en/configuration.changes.modes.php)
3. **PHP.net** - [List of php.ini directives](https://www.php.net/manual/en/ini.list.php)
4. **LiteSpeed Documentation** - [LSPHP Options: LSPHP\_ENABLE\_USER\_INI](https://docs.litespeedtech.com/lsws/extapp/php/configuration/options/)

## Gerelateerde artikelen

Beveiliging 22 okt 2026

[CVE-2026-109618 en -109619: de technische deepdive](https://www.keurigonline.nl/blog/php-lek-cve-2026-109618-deepdive)

De drop-in hoort daarbij ook in de echte map te staan, anders wist de nachtelijke CageFS-update hem weer uit het skeleton.

### PHP\_INI\_PERDIR

`session.upload_progress.enabled` is een `PHP_INI_PERDIR`-directive\[6\]. Een `php_flag` in een `.htaccess` (mod\_php, LiteSpeed) of een regel in `.<mark>user.ini</mark>` (FPM) kan hem dus per map weer aanzetten. Oude installaties hebben zulke regels soms nog. Vraag je klanten daarom om dat niet te doen, of zet de waarde met `php_admin_value` in de pool-configuratie vast. Draai je PHP 8.5 en kun je nog niet patchen, zet dan ook `fatal_error_backtraces = 0`: dat sluit de tweede bevestigde producer van CVE-2026-109619\[2\].

## Configuratie is geen runtime

De belangrijkste les van de ochtend. Een check op de opdrachtregel leest de ini vers in, maar de FPM-master leest zijn configuratie alleen bij het starten of bij een reload. Staat de drop-in er pas sinds vanochtend en is de pool sinds vannacht niet herladen, dan zegt `php -r` "0" terwijl elke worker die bezoekers bedient nog met upload progress aan draait. Wij hebben daarom niet de configuratie gemeten, maar het tijdstip van de laatste reload naast de mtime van de drop-in gelegd:

Beveiliging 22 okt 2026

[Het PHP-lek van 21 oktober: wat we deden en waarom we online bleven](https://www.keurigonline.nl/blog/php-lek-terugblik)

Ja. Bij de meeste versies is de reparatie ingebouwd zonder dat het nummer verandert. Wij hebben per server en per versie gecontroleerd dat de reparatie erin zit.

### Staat session.upload\_progress nu weer aan?

Nee, we laten het uit. Bijna geen website gebruikt het, en het houdt een deel van de restproblemen buiten de deur. Zet het ook niet zelf weer aan via een `.htaccess` of `.<mark>user.ini</mark>`.

### Draait mijn website op PHP-FPM of op LiteSpeed?

Op onze shared hosting (`cl01` tot en met `cl09.keurigonline.nl`) draait PHP via de PHP-koppeling van LiteSpeed. Op onze VPS'en en andere servers met DirectAdmin draait PHP meestal via PHP-FPM. In beide gevallen draait PHP als aparte processen, los van de webserver.

Blog 21 okt 2026

[PHP-lek PHP2Shell (session.upload\_progress): status en wat je moet doen](https://www.keurigonline.nl/blog/php-kwetsbaarheid-session-upload-progress)

Op 21 en 22 oktober. Op 22 oktober om 02:16 uur was het onderhoud op al onze servers afgerond. Alle stappen staan bij de updates onderaan deze pagina.

### Hoe zet ik session.upload\_progress.enabled zelf uit?

Host je bij ons, dan hoeft dat niet: wij hebben het op onze servers al uitgezet. Zet het ook niet zelf weer aan, bijvoorbeeld via een `.htaccess` of `.<mark>user.ini</mark>` van een oude installatie.

Beheer je zelf een server, laat het dan ook na de update uitstaan. Zet in je `php.ini`:

```
session.upload_progress.enabled = Off
```
