diff --git a/libraries/classes/Advisor.php b/libraries/classes/Advisor.php index ea6bd95465..99bf7d4beb 100644 --- a/libraries/classes/Advisor.php +++ b/libraries/classes/Advisor.php @@ -396,7 +396,22 @@ class Advisor */ private function evaluateRuleExpression(string $expression) { - return $this->expression->evaluate($expression, array_merge($this->variables, $this->globals)); + $variables = array_merge($this->variables, $this->globals); + + // Set default values for missing InnoDB variables when InnoDB is disabled + if (! isset($variables['innodb_buffer_pool_size'])) { + $variables['innodb_buffer_pool_size'] = 0; + } + + if (! isset($variables['innodb_log_file_size'])) { + $variables['innodb_log_file_size'] = 0; + } + + if (! isset($variables['innodb_log_files_in_group'])) { + $variables['innodb_log_files_in_group'] = 0; + } + + return $this->expression->evaluate($expression, $variables); } /**