disabledExtensions[] = $disabledExtension; } /** * No type hint to allow xdebug-handler v2 usage * @param bool $default */ protected function requiresRestart($default): bool { $this->required = (bool) array_filter( $this->disabledExtensions, function (string $extension): bool { return extension_loaded($extension); } ); return $default || $this->required; } /** * No type hint to allow xdebug-handler v2 usage * @param string[] $command */ protected function restart($command): void { if ($this->required && $this->tmpIni) { $regex = '/^\s*(extension\s*=.*(' . implode('|', $this->disabledExtensions) . ').*)$/mi'; $content = file_get_contents($this->tmpIni); $content = preg_replace($regex, ';$1', $content); file_put_contents($this->tmpIni, $content); } parent::restart($command); } }