【发布时间】:2012-01-09 06:07:55
【问题描述】:
我有一个普通(无框架)的 php 应用程序。我想将我的应用程序部署到 PhpFog。 问题是 config(host,dbname) 不同。
如何为开发和生产环境创建数据库配置?
【问题讨论】:
-
更改源文件中的这些设置。
-
我做到了,我设法部署了。但是我丢失了我的开发配置。我应该 gitignore 配置文件吗?
我有一个普通(无框架)的 php 应用程序。我想将我的应用程序部署到 PhpFog。 问题是 config(host,dbname) 不同。
如何为开发和生产环境创建数据库配置?
【问题讨论】:
您可以使用环境变量来执行此操作。 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");
【讨论】:
您可以将您的config.php 放入您的.gitignore,或者另一种解决方案是在您的本地存储库中有两个branches。一个在本地工作,一个在推动。然后你定义一个特殊的merge strategy:
假设您要排除文件 config.php
在分支 A:
在同一目录中创建一个名为 '.gitattributes' 的文件,使用以下行: config.php 合并=我们的。这告诉 git 合并时使用什么策略 文件。在这种情况下,它始终保留您的版本,即。上的版本 您要合并到的分支。
添加 .gitattributes 文件并提交
在分支 B:重复步骤 1-2
立即尝试合并。您的文件应保持原样。
【讨论】: