为什么“.user.ini”可以放在$ _SERVER ['DOCUMENT_ROOT']之外?

时间:2017-05-31 16:10:33

标签: php shared-hosting php-ini

我的服务器正在托管一些网站,我为每个网站都有一些特定于网站的设置,所以我在每个网站的文档根目录下放了一个.user.ini文件。

根据PHP文档:

  

除了主要的php.ini文件之外,PHP还扫描每个目录中的INI文件,从所请求的PHP文件的目录开始,然后直到当前文档根目录(在$ _SERVER ['中设置] DOCUMENT_ROOT'])。

然而,令我惊讶的是,即使我将.user.ini文件放在站点的document_root之外,它仍然有效,只要它在脚本的路径中。例如,如果我正在运行脚本https://A_DOMAIN_com/foo/bar/abc.php,并且在服务器中其实际路径为/www/public_html/A_DOMAIN_com/foo/bar/abc.php,其中$ _SERVER ['DOCUMENT_ROOT']已设置为/www/public_html/A_DOMAIN_com/

然后,即使我将.user.ini文件放在其任何路径中,例如/www/public_html/A_DOMAIN_com//www/public_html/,甚至/www/.user.ini文件仍然有效。

这是一个错误还是预期的行为?

我正在运行PHP 7.0.15,脚本由php-cgi7触发,os是高山。

参考:.user.ini files

0 个答案:

没有答案