在CakePHP中,如何将database.php配置文件移到APP文件夹之外

时间:2015-12-16 12:42:13

标签: php cakephp

我正在尝试阻止在代码文件中存储密码和安全信息。我已设法将Security.cipherSeed和Security.salt移动到应用程序目录外的Config文件中,并将以下内容放在core.php中:

App::uses('PhpReader', 'Configure');
Configure::config('default', new PhpReader('/etc/');
Configure::load('config.php', 'default');

在上面,我只能处理键值对,那么如何从整个应用程序之外的文件加载数据库配置文件?我尝试在require_once('/etc/database.php')中使用core.php,但它没有达到预期的效果。

1 个答案:

答案 0 :(得分:2)

简短摘要:

  • 创建config/<filename>.php.default
  • config/<filename>.php添加到.gitignore
  • 在执行部署时,使用部署脚本将config/<filename>.php.default复制到config/<filename>.php。这可以完成using composers events。只需执行一个PHP脚本即可为您完成此任务。
  • 使用env vars设置实际的配置配置值而不编辑文件

这将避免任何“个人”自定义配置进入存储库,但保留存储库中具有默认设置的文件。例如,环境变量也是设置数据库连接的一种非常方便的方式。