PHP-lek: het onderhoud is afgerond, al onze servers zijn bijgewerkt. Lees meer PHP-lek: onderhoud afgerond. Lees meer
Bestellen
Hosting
Domeinnaam
Ondersteuning
Ontdek
Terug naar 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

user.ini

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 overbodig maakte.

Belangrijke mijlpalen:

  • 30 juni 2009: PHP 5.3.0 introduceert .user.ini met user_ini.filename en user_ini.cache_ttl (changelog)
  • 22 juli 2010: PHP 5.3.3 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