在TYPO3版本6.1.5中,我想在typo3conf中将我的配置分为三部分:
我试过这样做:
这不起作用,因为它接缝按以下顺序评估文件:
因此,来自我的服务器特定文件(和AdditionalConfiguration.php)的更改很容易被LocalConfiguration.php中的内容覆盖。
知道如何绕过这样的事情吗?
答案 0 :(得分:1)
首先:不要在您的LocalConfiguration.php
文件中应用任何手动更改,因为它会在安装工具,Extension Manager等中的每个操作后被删除。
要添加自定义配置,您应该使用未更改的AddtitionalConfiguration.php
文件(您可能在使用它时知道)。在这个额外的配置中,您需要使用“旧”语法来覆盖值,即:
<?php
$GLOBALS['TYPO3_CONF_VARS']['DB']['database']='some_db_loc';
$GLOBALS['TYPO3_CONF_VARS']['DB']['host']='localhost';
$GLOBALS['TYPO3_CONF_VARS']['DB']['username']='jost';
$GLOBALS['TYPO3_CONF_VARS']['DB']['password']='yourpass';
最后在附加conf的末尾使用common include()
来包含下一个PHP文件,您可以在其中再次覆盖这些值:
@include('jost_localconf_dont_commit.php');
至少在TYPO3版本中。 6.1.1这种情况就像一个魅力。
编辑:根据访问附加配置中的属性,还可以查看Viktor's answer。
BTW:我不确定你为什么需要提交AdditionalConfiguration.php
,恕我直言,它应该在git中被忽略,并且在每个环境中都应该让这个文件填充本env的典型本地数据。 Main(生产)实例应将其配置保持在LocalConfiguration.php
答案 1 :(得分:1)
只有一件事要添加到biesior的回答中:
出于安全原因,最好不要在AdditionalConfiguration.php中拥有数据库凭据。最好使用来自主机文档根目录之外的路径的凭据来包含PHP文件。因此,如果PHP无法正常运行,则无法下载该文件,并且不会公开数据库凭据。