Exemple #1
0
 /**
  * Reloads env settings and also updates the configurations
  * in Laravel for anything that might change during the install
  * process. Things like app.key, app.debug, database stuff, mail
  * stuff, cache and session settings... this is a hack for people
  * who use php artisan serve ... no one else really needs this
  * hackery...
  *
  * @return void
  */
 public function refreshEnvironment(array $settings = array())
 {
     $this->EnvironmentFileManager->createIfNotExists();
     \Dotenv::makeMutable();
     \Dotenv::load(base_path(), '.env');
     \Dotenv::makeImmutable();
     $configToEnvMapping = ['app.debug' => 'APP_DEBUG', 'app.key' => 'APP_KEY', 'cache.default' => 'CACHE_DRIVER', 'database.default' => 'DB_DEFAULT', 'database.connections.mysql.host' => 'DB_HOST', 'database.connections.pgsql.host' => 'DB_HOST', 'database.connections.sqlsrv.host' => 'DB_HOST', 'database.connections.mysql.database' => 'DB_DATABASE', 'database.connections.pgsql.database' => 'DB_DATABASE', 'database.connections.sqlsrv.database' => 'DB_DATABASE', 'database.connections.mysql.username' => 'DB_USERNAME', 'database.connections.pgsql.username' => 'DB_USERNAME', 'database.connections.sqlsrv.username' => 'DB_USERNAME', 'database.connections.mysql.password' => 'DB_PASSWORD', 'database.connections.pgsql.password' => 'DB_PASSWORD', 'database.connections.sqlsrv.password' => 'DB_PASSWORD', 'session.driver' => 'SESSION_DRIVER'];
     $merged = array_merge(['APP_NAME' => env('APP_NAME', 'App'), 'APP_ENV' => env('APP_ENV', 'local'), 'APP_DEBUG' => env('APP_DEBUG'), 'APP_KEY' => env('APP_KEY', 'SomeRandomString'), 'CACHE_DRIVER' => env('CACHE_DRIVER', 'file'), 'DB_DEFAULT' => env('DB_DEFAULT', 'mysql'), 'DB_HOST' => env('DB_HOST', 'localhost'), 'DB_DATABASE' => env('DB_DATABASE', 'forge'), 'DB_USERNAME' => env('DB_USERNAME', 'forge'), 'DB_PASSWORD' => env('DB_PASSWORD', ''), 'CONFIGS_OVERRIDE' => env('CONFIGS_OVERRIDE', ''), 'APP_MIGRATIONS' => env('APP_MIGRATIONS', ''), 'APP_SEEDS' => env('APP_SEEDS', ''), 'SESSION_DRIVER' => env('SESSION_DRIVER', 'file')], $settings);
     foreach ($configToEnvMapping as $config => $env) {
         $this->Config->set($config, $merged[$env]);
     }
     app()['env'] = $merged['APP_ENV'];
 }
Exemple #2
0
##### Use a separate .env file instead that overwrites the defaults.             #####
##### Read more at                                                               #####
##### https://seravo.com/docs/development/configure-vagrant-box/#using-dotenv    #####
######################################################################################
#Load composer libraries
require_once dirname(__DIR__) . '/vendor/autoload.php';
$root_dir = dirname(__DIR__);
$webroot_dir = $root_dir . '/htdocs';
/**
 * Use Dotenv to set required environment variables and load .env file in root
 * Seravo provides all needed envs for WordPress by default.
 * If you want to have more envs put them into .env file
 * .env file is also heavily used in development
 */
if (file_exists($root_dir . '/.env')) {
    Dotenv::makeMutable();
    Dotenv::load($root_dir);
}
/**
 * DB settings
 * You can find the credentials by running $ wp-list-env
 */
define('DB_NAME', getenv('DB_NAME'));
define('DB_USER', getenv('DB_USER'));
define('DB_PASSWORD', getenv('DB_PASSWORD'));
define('DB_PORT', getenv('DB_PORT') ? getenv('DB_PORT') : 3306);
define('DB_HOST', getenv('DB_HOST') ? getenv('DB_HOST') . ':' . DB_PORT : '127.0.0.1:3306');
define('DB_CHARSET', 'utf8');
define('DB_COLLATE', '');
$table_prefix = getenv('DB_PREFIX') ? getenv('DB_PREFIX') : 'wp_';
/**
 public function testDotenvDoesNotOverwriteEnvWhenMutable()
 {
     Dotenv::makeMutable();
     Dotenv::setEnvironmentVariable('QFOO=external');
     Dotenv::load(dirname(__DIR__) . '/fixtures', 'quoted.env');
     $this->assertEquals('bar', getenv('QFOO'));
 }