如何将被忽略的文件添加到heroku?

时间:2015-07-26 19:01:32

标签: php git codeigniter heroku

我有一个进入heroku的php应用程序。我使用免费版。我的应用程序使用codeigniter框架,我需要忽略一些gitignore文件,例如我有一个文件database.php与数据库连接的信息。这个信息在每个环境中都有所不同,我的问题是,如何将这些文件上传到heroku?

1 个答案:

答案 0 :(得分:2)

这是解决问题的错误方法。任何配置信息,如:

  • api keys
  • 数据库主机/密码
  • 任何其他特定的env配置

不应该在git中进行版本控制。

您应该使用环境变量。我假设您要使用不同的数据库主机/用户名/密码,无论您是在开发环境(工作目录),还是在暂存或生产中。

1)检查如何设置环境变量(在Windows和Linux / Mac OS X之间有所不同),但是你有帮手,这是一个很好的做法(使用heroku时更多)

2)由于您使用的是php,因此您可以使用getenv检索这些变量。你应该有类似的东西:

$dbUserName = getenv('DB_USER_NAME');
$dbHost = getenv('DB_HOST');
$dbPassword = getenv('DB_PASSWORD');

//use the variables above to make a db connexion

3)在heroku vm(see more

上设置env变量的时间
$ heroku config:set DB_USER_NAME=foo
$ heroku config:set DB_HOST=bar
$ heroku config:set DB_PASSWORD=fee

当您推送到heroku时,您的代码将自动使用正确的配置(您不必费心在您的开发环境和生产环境之间更改代码库中的内容+每个团队成员可以有不同的配置在他们的本地开发机器上)