Php multiple db environment with git & phpfog

放肆的年华 提交于 2019-12-24 09:59:50

问题


I have a plain(no framework) php app. I want to deploy my app to PhpFog. The problem is the config(host,dbname) is different.

How to create a db config for development and production environment?


回答1:


You could use environment variables to do this. PHPFog provides a way to set environment variables in the App Console > Env. Variables tab for your app.

Simply create all the environment variables that you need on both your local machine and on the App Console:

Example:

Local Machine: Edit your .bash_profile

APP_HOST=localhost
APP_DATABASE=mydatabase

PHPfog App Console:

APP_HOST=production.mysqlserver.com
APP_DATABASE=proddatabase

Then access them from your php app:

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



回答2:


You can put your config.php in your .gitignore or another solution is to have two branches on your local repository. One to work locally and one to push. Then you define a special merge strategy:

Let's say you want to exclude the file config.php

On branch A:

Create a file named '.gitattributes' in the same dir, with this line: config.php merge=ours. This tells git what strategy to use when mergin the file. In this case it always keep your version, ie. the version on the branch you are merging into.

Add the .gitattributes file and commit

On branch B: repeat steps 1-2

Try merging now. Your file should be left untouched.



来源:https://stackoverflow.com/questions/8784516/php-multiple-db-environment-with-git-phpfog

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!