【问题标题】:Php multiple db environment with git & phpfog带有 git 和 phpfog 的 PHP 多数据库环境
【发布时间】:2012-01-09 06:07:55
【问题描述】:

我有一个普通(无框架)的 php 应用程序。我想将我的应用程序部署到 PhpFog。 问题是 config(host,dbname) 不同。

如何为开发和生产环境创建数据库配置?

【问题讨论】:

  • 更改源文件中的这些设置。
  • 我做到了,我设法部署了。但是我丢失了我的开发配置。我应该 gitignore 配置文件吗?

标签: php mysql git phpfog


【解决方案1】:

您可以使用环境变量来执行此操作。 PHPFog 提供了一种在 App Console > Env 中设置环境变量的方法。您应用的变量标签。

只需在本地计算机和应用控制台上创建您需要的所有环境变量:

示例:

本地机器:编辑您的.bash_profile

APP_HOST=localhost
APP_DATABASE=mydatabase

PHPfog 应用控制台:

APP_HOST=production.mysqlserver.com
APP_DATABASE=proddatabase

然后从您的 php 应用程序访问它们:

$db_host = getenv("APP_HOST");
$db_name = getenv("APP_DATABASE");

【讨论】:

    【解决方案2】:

    您可以将您的config.php 放入您的.gitignore,或者另一种解决方案是在您的本地存储库中有两个branches。一个在本地工作,一个在推动。然后你定义一个特殊的merge strategy

    假设您要排除文件 config.php

    在分支 A:

    在同一目录中创建一个名为 '.gitattributes' 的文件,使用以下行: config.php 合并=我们的。这告诉 git 合并时使用什么策略 文件。在这种情况下,它始终保留您的版本,即。上的版本 您要合并到的分支。

    添加 .gitattributes 文件并提交

    在分支 B:重复步骤 1-2

    立即尝试合并。您的文件应保持原样。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-13
      • 2013-02-25
      相关资源
      最近更新 更多