bring back cleanup of potentially sensitive environment variables but exclude CLI SAPI to prevent updater failures

This commit is contained in:
Andrew Dolgov 2025-05-02 13:37:08 +03:00
parent aeca30cb0c
commit 247efe3137
No known key found for this signature in database
GPG Key ID: 1A56B4FA25D4AF2A

View File

@ -275,6 +275,13 @@ class Config {
if (isset(self::_DEFAULTS[$const])) {
$override = getenv(self::_ENVVAR_PREFIX . $const);
// cleanup original env var after importing (unless it's a background process)
if (php_sapi_name() != "cli") {
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 ];
@ -433,6 +440,13 @@ 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 (unless it's a background process)
if (php_sapi_name() != "cli") {
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 ];
}