我的开发环境与我的初创公司的其他开发人员共享,并在 Rackspace 上设置。 php.ini 文件位于/etc/
文件夹,我相信这是一个集中位置,每个其他开发人员的开发环境设置都从这里进行配置。我想定制这个php.ini
专门为我自己归档,而不必在/etc
/ 地点。
具体来说,我在我的环境中设置 XDEBUG,其他一些开发人员不想要它,所以我不想 bug em :)
为此,我在互联网上扫描了如何专门针对目录覆盖 php.ini 文件,并发现stackoverflow 上的此页面 https://stackoverflow.com/questions/2899326/overwrite-php-ini-settings
接下来,我只需将 php.ini 文件复制粘贴到我的 htdocs 文件夹中,然后简单地回显phpinfo()
(我在我的一个控制器中回应了这一点(使用 Zend))。 index.php 文件位于 htdocs 文件夹中。
当我看@“加载的配置文件”,它仍然显示
/etc/
代替 。./htdocs/
有人知道怎么回事吗?
一般情况下是无法加载的php.ini
基于每个目录,但在某些特殊情况下(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 文件位于文档根目录之外,则仅扫描其目录。
如果您在一台服务器上托管多个独立站点,无论如何您都应该考虑 FastCGI,以将它们分开。和php5-fpm
设置多个工作人员池非常容易。
请注意,仅在用户 ini 文件中设置 ini 选项的有限子集。
正如您所说,您无法控制服务器,可能的解决方法是:
- Use ini_set() http://php.net/ini_set覆盖脚本内的更改。并非所有配置指令都可以使用以下命令进行更改
ini_set()
though.
- 使用目录中的 .htaccess 文件覆盖中的配置
php.ini
file.
(某些部分改编自#1438393 https://stackoverflow.com/a/13536261/1438393)
希望这可以帮助!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)