summaryrefslogtreecommitdiff
path: root/classes
diff options
context:
space:
mode:
authorAndrew Dolgov <fox@fakecake.org>2025-04-08 11:16:22 +0000
committerAndrew Dolgov <fox@fakecake.org>2025-04-08 11:16:22 +0000
commit44e23469a0379a63eaa2701a6fb981008dc97875 (patch)
tree7ab10979e9b6b0952285e5600b71a2f7ac579485 /classes
parent008c518d5d8e60c0168cd107dbfd1f23f9c4a701 (diff)
parente4f1480453a86401f93ed97878c270628fe4d2b7 (diff)
Merge branch 'less-leaks' into 'master'
cleanup environment variables related to global configuration after instantiating config object See merge request tt-rss/tt-rss!118
Diffstat (limited to 'classes')
-rw-r--r--classes/Config.php10
1 files changed, 10 insertions, 0 deletions
diff --git a/classes/Config.php b/classes/Config.php
index 5098bfe68..0774bd76a 100644
--- a/classes/Config.php
+++ b/classes/Config.php
@@ -285,6 +285,11 @@ class Config {
if (isset(self::_DEFAULTS[$const])) {
$override = getenv(self::_ENVVAR_PREFIX . $const);
+ // cleanup original env var after importing
+ putenv(self::_ENVVAR_PREFIX . $const . '=');
+ unset($_ENV[self::_ENVVAR_PREFIX . $const]);
+ unset($_SERVER[self::_ENVVAR_PREFIX . $const]);
+
list ($defval, $deftype) = self::_DEFAULTS[$const];
$this->params[$cvalue] = [ self::cast_to($override !== false ? $override : $defval, $deftype), $deftype ];
@@ -443,6 +448,11 @@ class Config {
private function _add(string $param, string $default, int $type_hint): void {
$override = getenv(self::_ENVVAR_PREFIX . $param);
+ // cleanup original env var after importing
+ putenv(self::_ENVVAR_PREFIX . $param . '=');
+ unset($_ENV[self::_ENVVAR_PREFIX . $param]);
+ unset($_SERVER[self::_ENVVAR_PREFIX . $param]);
+
$this->params[$param] = [ self::cast_to($override !== false ? $override : $default, $type_hint), $type_hint ];
}