From fc55a8e49b2871a5ed9e44e76796f972392e1940 Mon Sep 17 00:00:00 2001 From: Matias Griese Date: Tue, 8 Dec 2020 13:27:53 +0200 Subject: [PATCH] Added support for setting `GRAV_SETUP_PATH` by using environment variable --- CHANGELOG.md | 1 + system/src/Grav/Common/Config/Setup.php | 5 ++++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 88377e193..848dd8bad 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,7 @@ * Updated unit tests to use codeception 4.1 1. [](#improved) * Improved `bin/grav install` command + * Added support for setting `GRAV_SETUP_PATH` by using environment variable 1. [](#bugfix) * Fixed potential error when upgrading Grav * Fixed broken list in `bin/gpm index` [#3092](https://github.com/getgrav/grav/issues/3092) diff --git a/system/src/Grav/Common/Config/Setup.php b/system/src/Grav/Common/Config/Setup.php index 06f5c751a..e8ebccbe2 100644 --- a/system/src/Grav/Common/Config/Setup.php +++ b/system/src/Grav/Common/Config/Setup.php @@ -182,7 +182,10 @@ class Setup extends Data // Pre-load setup.php which contains our initial configuration. // Configuration may contain dynamic parts, which is why we need to always load it. // If "GRAV_SETUP_PATH" has been defined, use it, otherwise use defaults. - $file = defined('GRAV_SETUP_PATH') ? GRAV_SETUP_PATH : GRAV_ROOT . '/setup.php'; + $file = getenv('GRAV_SETUP_PATH') ?: (defined('GRAV_SETUP_PATH') ? GRAV_SETUP_PATH : 'setup.php'); + if (!str_starts_with($file, '/')) { + $file = GRAV_ROOT . '/' . $file; + } $setup = is_file($file) ? (array) include $file : []; // Add default streams defined in beginning of the class.