git忽略Yii数据库详细信息
所有应用程序实例所需的git忽略Yii数据库详细信息,yii,configuration,Yii,Configuration,所有应用程序实例所需的main.php中的一些详细信息(URL详细信息),以及每个应用程序实例所特有的一些详细信息(数据库详细信息) 有没有办法将数据库详细信息从protected/config/main.php中分离出来 你可以在这里找到一个想法:。 基本上,它通过导入不同的PHP文件(您的db配置)并合并包含的数组来工作: <?php return CMap::mergeArray( require(dirname(__FILE__).'/db-config.php'),
main.php
中的一些详细信息(URL详细信息),以及每个应用程序实例所特有的一些详细信息(数据库详细信息)
有没有办法将数据库详细信息从
protected/config/main.php
中分离出来 你可以在这里找到一个想法:。
基本上,它通过导入不同的PHP文件(您的db配置)并合并包含的数组来工作:
<?php
return CMap::mergeArray(
require(dirname(__FILE__).'/db-config.php'),
array(
'basePath' => dirname(__FILE__).DIRECTORY_SEPARATOR.'..',
'name' => 'Page Title',
...
)
);
?>
只需包含来自另一个PHP文件的共享配置:
main.php:
sharedDatabaseConfiguration.php:
您可能需要添加路径或其他内容,具体取决于文件的存储位置
编辑:顺便说一句,Yii还有一个奇特的CMap::mergeArray()函数,可以执行类似的操作(如果您想用另一个配置文件的内容“扩充”单个配置文件的内容。请查看默认生成的console.php以获取该示例。您可以使用单独的配置文件(例如protected/config/production.php),它基于您的主配置文件,并根据建议使用CMap::mergeArray
覆盖某些设置:
return CMap::mergeArray(
require(dirname(__FILE__) . '/main.php'),
array(
'components' => array(
'db' => array(
'connectionString' => '...',
'username' => '...',
'password' => '...',
),
),
)
);
然后可以将protected/config/production.php添加到.gitignore
return array('host' => ...);
return CMap::mergeArray(
require(dirname(__FILE__) . '/main.php'),
array(
'components' => array(
'db' => array(
'connectionString' => '...',
'username' => '...',
'password' => '...',
),
),
)
);