如何包括另一php.ini文件一个php.ini文件?(How do I include a php

2019-07-05 14:10发布

如何包括另一php.ini文件一个php.ini文件?

Answer 1:

我不认为你可以“包括”从主php.ini文件.ini文件。

一个可能的解决方案,不过,可能是使用这个选项的configure命令行编译PHP时:

--with-config-file-scan-dir=PATH                                                        
    Set the path where to scan for configuration files

如果此选项在编译时使用的,PHP将寻找此目录中每一个.ini文件中,除了“正常”的php.ini文件。

我想这是由Ubuntu的使用,例如,它使用的不是修改php.ini中为每个下载的扩展名不同的.ini文件。

在php.ini文件的路径是与此选项定义,在configure行:

--with-config-file-path=PATH                                                            
    Set the path in which to look for php.ini [PREFIX/lib]

不过,这可能意味着你必须重新编译PHP - 这并不难,顺便说一句 - 最难的部分是获得所需要的依赖。

而且,这里是在内部@ mailling名单后,说同样的事情,我做的: 配置文件和PHP_CONFIG_FILE_SCAN_DIR



Answer 2:

我安装的memcached PHP和不知道如何确保它的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


Answer 3:

人们也可以在限定的路径~/.bashrc

export PHP_INI_SCAN_DIR=/usr/local/lib/php.d


Answer 4:

看来你不能包含一个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 (文件名为任意只包含<?php phpinfo();在浏览器中打开相应的URL,并检查被解析目录列表和获得它的顶部区域加载的文件列表。

/etc/php5/cgi/conf.d应始终包含(我猜是因为它被编译成PHP可执行文件),并可能不是真的需要。



Answer 5:

你不能。 在线阅读网页:

配置文件

发明内容:PHP启动时的配置文件(php.ini中)被读出。 对于PHP的服务器模块的版本,这种情况只有在Web服务器再次起动。 对于CGI和CLI版本,每次调用都会读取。

.user.ini文件

摘要:除了主要的php.ini文件,在每个目录INI文件PHP扫描,开始与被请求的PHP文件的目录,它的工作方式到当前文档根目录(如设置在$ _ SERVER ['DOCUMENT_ROOT “])。 只有模式PHP_INI_PERDIR和PHP_INI_USER INI设置将.user.ini风格的INI文件被识别。



Answer 6:

你可以试着模拟它使得使用的函数ini_set功能。 但是,随着“人页”表示,并非所有的ini选项可以使用的ini_set改变。 这绝对是一个非常有用的功能,但。



Answer 7:

其实你可以 。 我只是用PHP-FPM测试它在Debian 9。 从一些的.ini / .conf文件,请使用此语法:

include=/path/to/special-php.ini

甚至

include=/path/to/special-dir-full-of-conf-files/*.conf 

因为它是在使用

/etc/php/7.0/fpm/php-fpm.conf
include=/etc/php/7.0/fpm/pool.d/*.conf

顺便说一句,这会如果通过主题分割你的设置,或者如果你想要开发一组,另一个用于生产是最有用的。 然后,你可以做到这一点是Debian / Apache的样式像

/etc/php/conf-available/
/etc/php/conf-enabled/

与从第二到另一个和symliks包括对一个。



文章来源: How do I include a php.ini file in another php.ini file?