diff --git a/psalm-baseline.xml b/psalm-baseline.xml index e070740ff6..e02718cfb1 100644 --- a/psalm-baseline.xml +++ b/psalm-baseline.xml @@ -213,7 +213,6 @@ - diff --git a/src/Config.php b/src/Config.php index 5592c24851..a56ea965db 100644 --- a/src/Config.php +++ b/src/Config.php @@ -21,7 +21,6 @@ use function array_replace_recursive; use function array_slice; use function count; use function defined; -use function error_reporting; use function explode; use function fclose; use function file_exists; @@ -92,8 +91,6 @@ class Config /** @var int source modification time */ public int $sourceMtime = 0; - public bool $errorConfigFile = false; - private bool $isHttps = false; public Settings $config; @@ -357,36 +354,21 @@ class Config /** @var mixed $cfg */ $cfg = []; - /** - * Parses the configuration file, we throw away any errors or - * output. - */ - $canUseErrorReporting = function_exists('error_reporting'); - $oldErrorReporting = null; - if ($canUseErrorReporting) { - $oldErrorReporting = error_reporting(0); - } - ob_start(); try { - /** @psalm-suppress UnresolvableInclude */ - $evalResult = include $this->getSource(); + /** + * Suppress any warnings generated by require or inside the included file + * + * @psalm-suppress UnresolvableInclude + */ + @require $this->getSource(); } catch (Throwable) { throw new ConfigException('Failed to load phpMyAdmin configuration.'); } ob_end_clean(); - if ($canUseErrorReporting) { - error_reporting($oldErrorReporting); - } - - if ($evalResult === false) { - $this->errorConfigFile = true; - } else { - $this->errorConfigFile = false; - $this->sourceMtime = (int) filemtime($this->getSource()); - } + $this->sourceMtime = (int) filemtime($this->getSource()); if (is_array($cfg)) { $this->config = new Settings($cfg); @@ -656,24 +638,6 @@ class Config throw new ConfigException(__('Wrong permissions on configuration file, should not be world writable!')); } - /** - * Checks for errors (must be called after config.inc.php has been merged) - * - * @throws ConfigException - */ - public function checkErrors(): void - { - if (! $this->errorConfigFile) { - return; - } - - $error = '[strong]' . __('Failed to read configuration file!') . '[/strong]' - . '[br][br]' - . __('This usually means there is a syntax error in it.'); - - throw new ConfigException(Sanitize::convertBBCode($error)); - } - /** * returns specific config setting * diff --git a/src/Http/Middleware/ConfigErrorAndPermissionChecking.php b/src/Http/Middleware/ConfigErrorAndPermissionChecking.php index d2ac800f43..609da3ea08 100644 --- a/src/Http/Middleware/ConfigErrorAndPermissionChecking.php +++ b/src/Http/Middleware/ConfigErrorAndPermissionChecking.php @@ -31,7 +31,6 @@ final class ConfigErrorAndPermissionChecking implements MiddlewareInterface { try { $this->config->checkPermissions(); - $this->config->checkErrors(); } catch (ConfigException $exception) { $response = $this->responseFactory->createResponse(StatusCodeInterface::STATUS_INTERNAL_SERVER_ERROR);