如何在另一个php.ini文件中包含php.ini文件?
我不认为你可以从主php.ini文件“包含”.ini文件。
一个可能的解决方案,不过,可能是PHP编译时使用的配置线,此选项:
--with-config-file-scan-dir=PATH
Set the path where to scan for configuration files
如果此选项在编译时使用的,PHP将寻找每一个.ini文件在这个目录下,除了“正常”的php.ini文件。
我想这是Ubuntu使用的,例如,它为每个下载的扩展使用不同的.ini文件,而不是修改php.ini。
到php.ini文件的路径中使用此选项定义的,在configure行:
--with-config-file-path=PATH
Set the path in which to look for php.ini [PREFIX/lib]
不过,这可能意味着你必须重新编译PHP - 这是不是硬,顺便说一句 - 最难的部分是获得你需要的依赖。
而且,这里是在内部@ mailling名单后,说我做同样的事情:config files and PHP_CONFIG_FILE_SCAN_DIR
除编译时间设置外,还有一个环境变量'PHPRC',它可以更改默认的'php.ini'(以及其他可能的ini文件)目录。 – 2011-07-29 17:19:32
当你在配置线上说,这是什么意思?那是一个文件吗? – tomjung 2015-03-12 21:37:54
你不能。在线阅读网页:
摘要:配置文件 (php.ini中)PHP启动时被读取。 对于服务器模块版本的PHP, 只有在启动Web 服务器时才发生这种情况。对于CGI和CLI 版本,每调用一次 。
摘要:除了主 php.ini文件,在每个目录下INI文件 PHP扫描,开始与 目录所请求的PHP文件, 和工作它的方式达到当前的 文档根目录(在 $ _SERVER ['DOCUMENT_ROOT']中设置)。只有INI 与PHP_INI_PERDIR 和PHP_INI_USER模式的设置将在 .user.ini样式的INI文件中识别。
我在发布之前阅读了这些内容,并没有说明是否可能。 – 2009-09-08 03:53:27
我为php安装了memcached,并不确定如何确保它的ini包含在我的php.ini中,但事实证明它自动是。您可以通过运行php --ini
来验证正在加载的内容。
php --ini
Configuration File (php.ini) Path: /opt/local/etc/php5
Loaded Configuration File: (none)
Scan for additional .ini files in: /opt/local/var/db/php5
Additional .ini files parsed: /opt/local/var/db/php5/memcached.ini
听起来像“php --ini”返回的配置文件路径可能与网页返回的不一样()。 – gonglong 2017-04-17 03:52:47
一个还可以在~/.bashrc
export PHP_INI_SCAN_DIR=/usr/local/lib/php.d
定义路径似乎不能包含一个ini文件到另一个所以它被引用和加载。但是你可以通过告诉它要查看哪些文件夹来设置php来加载多个文件。
当使用FastCGI设置(可能在FPM中,虽然我不确定),但您可以从php包装器中导出环境变量。
这里你可以这样做:
export PHP_INI_SCAN_DIR=/etc/php5/cgi/conf.d:/var/www/mydomain.net/etc
/var/www/mydomain.net/etc
仅仅是一个例子,它就是你把你的其他INI文件的文件夹。看起来这可以是一个:
分隔列表。
使用phpinfo.php
(任意只包含<? phpinfo();
的文件),请在浏览器中打开相应的URL并检查解析的目录列表以及在其顶部加载的文件列表。
/etc/php5/cgi/conf.d
应该总是包括在内(我猜是因为它被编译到php可执行文件中)并且可能不是真的需要。
我很感兴趣RHEL/Fedora如何完成/etc/php.d/* include。他们是否对PHP进行了修补以实现这一点? – gahooa 2009-09-08 04:17:46
@gahooa这就是我带领我到这里的问题。你有没有学过他们如何完成/etc/php.d/* include? – 2016-09-07 01:50:56
请参阅下面的接受答案,这也回答你的问题。你也可以做php -i(phpinfo())并查看php是如何构建的 – 2016-09-07 01:58:59