我有一个普通(无框架)的 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
中有两个分支。一个在本地工作,一个在推动。然后定义一个特殊的合并策略:
假设您要排除文件 config.php
在分支 A 上:
在同一目录中创建一个名为“.gitattributes”的文件,使用以下行:config.php merge=ours。这告诉 git 在合并文件时使用什么策略。在这种情况下,它始终保留您的版本,即。您要合并到的分支上的版本。
添加 .gitattributes 文件并提交
在分支 B:重复步骤 1-2
现在尝试合并。您的文件应该保持不变。