Yii 2 Basic Project Template with environment settings
Yii 2 Basic Project Template is a skeleton Yii 2 application best for rapidly creating small projects.
You should never store sensitive credentials in your code. Storing configuration in the environment is one of the tenets of a twelve-factor app. Anything that is likely to change between deployment environments – such as database credentials or credentials for 3rd party services – should be extracted from the code into environment variables.
.env file is an easy way to load custom configuration variables
that your application needs without having to modify .htaccess files or
Apache/nginx virtual hosts. This means you won't have to edit any files outside
the project, and all the environment variables are always set no matter how you
run your project - Apache, Nginx, CLI, and even PHP 5.4's built-in webserver.
It's WAY easier than all the other ways you know of to set environment
variables, and you're going to love it!
- NO editing virtual hosts in Apache or Nginx
- NO adding
php_valueflags to .htaccess files
- EASY portability and sharing of required ENV values
- COMPATIBLE with PHP's built-in web server and CLI runner
composer create-project --prefer-dist --stability=dev ale10257/yii2-app-basic-with-env-settings .
cd your/project cp example.env .env
Edit your settings in .env file
YII_DEBUG=true YII_ENV='dev' DB_HOST='localhost' DB_NAME='my_db' DB_USER='root' DB_PASSWD='' DB_CHARSET='utf8' # other environment settings ...
In your project, example:
'dsn' => 'mysql:host=' . $_ENV['DB_HOST'] . ';dbname=' . $_ENV['DB_NAME'];