如何在另一个php.ini文件中包含php.ini文件?如何在另一个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
你可以试着模拟它利用了ini_set功能。但正如“手册页”所示,并非所有ini选项都可以使用ini_set进行更改。不过,这绝对是一个有用的功能。
我为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”返回的配置文件路径可能与网页返回的不一样(<?php phpinfo();?>)。 – 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可执行文件中)并且可能不是真的需要。
- 1. 在PHP.ini中包含PHP文件
- 2. 多个php.ini文件
- 3. 如何配置php.ini文件
- 4. WAMPserver,两个php.ini文件
- 5. php.ini文件 - 的OpenSSL
- 6. 访问php.ini文件
- 7. 编辑php.ini文件
- 8. PHP文件上传 - php.ini中
- 9. session.upload_progress.enabled不是在php.ini文件
- 10. 如何更改php.ini文件中的session_save_path?
- 11. php.ini文件中XAMP文件夹
- 12. IIS php.ini display_errors = stderr到一个文件?
- 13. 如何更改php.ini中的设置以在PHP文件中包含php脚本?
- 14. 的fsockopen()在我的php.ini文件使之在php.ini
- 15. 更改PHP.ini位置文件?
- 16. 能找到php.ini文件
- 17. php.ini文件不工作?
- 18. 通过php.ini文件“SetEnv”
- 19. 找不到php.ini文件
- 20. 覆盖全局php.ini文件
- 21. 无法更改php.ini文件!
- 22. php.ini文件未找到
- 23. 过度的php.ini文件
- 24. 阻止访问php.ini文件
- 25. PHP:没有php.ini文件
- 26. 如何使用Plesk编辑php.ini文件
- 27. 如何找到php.ini文件(xampp)
- 28. 如何在另一个html文件中包含html文件
- 29. 如何将MXML文件包含在另一个MXML文件中?
- 30. 文件夹中的php.ini覆盖主要的php.ini
我很感兴趣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