ScotlandPHP

Файлы .user.ini

С версии PHP 5.3.0 включена поддержка INI-файлов в стиле .htaccess на уровне каталога. Эти файлы обрабатываются только CGI/FastCGI SAPI. Эта функция делает ненужным расширение PECL htscanner. Если вы используете PHP как модуль Apache, то для достижения того же эффекта, пользуйтесь файлами .htaccess.

В дополнение к основному файлу php.ini, PHP ищет INI-файлы в каждой директории, начиная с директории запрошенного PHP-файла и продолжает поиск до корневой директории (установленной в $_SERVER['DOCUMENT_ROOT']). Если PHP-файл находится вне корневой директории, то сканируется только его директория.

Только INI-настройки с режимами PHP_INI_PERDIR и PHP_INI_USER будут распознаны в INI-файлах в стиле .user.ini.

Две новых INI-директивы, user_ini.filename и user_ini.cache_ttl контролируют использование пользовательских INI-файлов.

user_ini.filename устанавливает имя файла, по которому PHP производит поиск в каждой директории; если установлена пустая строка, то PHP поиск не производит. По умолчанию .user.ini.

user_ini.cache_ttl устанавливает насколько часто пользовательские INI-файлы будут обновляться. По умолчанию период обновления составляет 300 секунд (5 минут).

add a note add a note

User Contributed Notes 4 notes

up
23
Anteaus at thenox dot com
3 years ago
"If you are using Apache, use .htaccess files for the same effect."

To clarify, this applies only to Apache module mode. If you put php directives in .htaccess on an Apache CGI/FastCGI server, this will bomb the server out with a 500 error. Thus, you unfortunately cannot create a config which caters for both types of hosting, at least not in any straightforward way.
up
20
philsward at gmail dot com
4 years ago
If you have no idea what "PHP_INI_PERDIR" or "PHP_INI_USER" are or how they relate to setting a .user.ini file, take a look at the ini.list page: http://www.php.net/manual/en/ini.list.php

Basically, anything in the "Changeable" column labeled as PHP_INI_SYSTEM can't be set in the .user.ini file (so quit trying).  It can ONLY be set at the main php.ini level.
up
15
interfaSys
6 years ago
This article should be made clearer.
".htaccess-style INI files" meant to me that the ini settings had to follow the syntax used in .htaccess, but this is not the case!

You have to use
register_globals=on
and not
php_flag register_globals on

Also, the changes can take a while to propagate to all processes if you have a long process time out.
Restarting php-fpm can give you an answer quicker :)
up
-65
Anonymous
1 year ago
One of the most used is to limit the uploading size and memory limit:

upload_max_filesize = 1000M
post_max_size=1005M
max_execution_time=120
To Top