我想知道我是否可以在目录级别使用php.ini文件?具体来说,我有一个域指向子目录中的虚拟文档根,并希望覆盖先前在物理根目录中的php.ini文件中定义的一些php.ini值。
这可以通过在子目录中的新php.ini中重新定义这些值来实现吗?我试图远离在.htaccess
文件中定义这些内容。
答案 0 :(得分:1)
一般情况下没有,但在特殊情况下(CGI / FastCGI)是:http://php.net/configuration.file.per-user
自PHP 5.3.0起,PHP在每个目录的基础上支持.htaccess样式的INI文件。这些文件仅由CGI / FastCGI SAPI处理。此功能废弃了PECL htscanner扩展。如果您使用的是Apache,请使用.htaccess文件获得相同的效果。
除了主要的php.ini文件之外,PHP还扫描每个目录中的INI文件,从所请求的PHP文件的目录开始,然后直到当前文档根目录(在$ _SERVER ['中设置] DOCUMENT_ROOT'])。如果PHP文件位于文档根目录之外,则只扫描其目录。
您只能在user-ini文件中设置ini-options的有限子集。如果您在一台服务器上托管多个独立站点,则无论如何都应该考虑FastCGI,以使它们保持分离。使用php5-fpm
,可以很容易地设置许多工作池。