运行时配置
在线手册:中文  英文

.user.ini 文件

自 PHP 5.3.0 起,PHP 支持基于每个目录的 .htaccess 风格的 INI 文件。此类文件被 CGI/FastCGI SAPI 处理。此功能使得 PECL 的 htscanner 扩展作废。如果使用 Apache,则用 .htaccess 文件有同样效果。

除了主 php.ini 之外,PHP 还会在每个目录下扫描 INI 文件,从被执行的 PHP 文件所在目录开始一直上升到 web 根目录($_SERVER['DOCUMENT_ROOT'] 所指定的)。如果被执行的 PHP 文件在 web 根目录之外,则只扫描该目录。

在 .user.ini 风格的 INI 文件中只有具有 PHP_INI_PERDIRPHP_INI_USER 模式的 INI 设置可被识别。

两个新的 INI 指令,user_ini.filenameuser_ini.cache_ttl 控制着用户 INI 文件的使用。

user_ini.filename 设定了 PHP 会在每个目录下搜寻的文件名;如果设定为空字符串则 PHP 不会搜寻。默认值是 .user.ini

user_ini.cache_ttl 控制着重新读取用户 INI 文件的间隔时间。默认是 300 秒(5 分钟)。


运行时配置
在线手册:中文  英文

用户评论:

philsward at gmail dot com (2013-04-03 06:45:50)

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.

Dolphyn (2012-04-28 06:48:36)

Apparently the .user.ini file cannot be used to add dynamic extensions. For example, "extension=php_pdo_mysql.dll" has no effect in a .user.ini file (as of PHP 5.3.10 using FastCGI on IIS 6).

Dolphyn (2011-04-27 07:43:15)

As of PHP 5..3.6, applicable .user.ini files are *not* listed or identified in phpinfo() output.
A .user.ini file can be in effect even when phpinfo() shows "additional .ini files parsed: (none)"

interfaSys (2011-01-05 22:12:24)

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 :)

showerheadsuk at hotmail dot com (2010-10-14 03:18:13)

Currently .user.ini files aren't read when using php-fpm, instead you can use [HOST] and [PATH] sections in your main php.ini to set per directory and per domain settings: http://us3.php.net/manual/en/ini.sections.php

易百教程