我的服务器正在托管一些网站,我为每个网站都有一些特定于网站的设置,所以我在每个网站的文档根目录下放了一个.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是高山。