diff --git a/cli/Valet/Configuration.php b/cli/Valet/Configuration.php index 6492809e4..a129d2cc5 100644 --- a/cli/Valet/Configuration.php +++ b/cli/Valet/Configuration.php @@ -149,6 +149,7 @@ public function createXdebugDirectory() { * Write the base, initial configuration for Valet. */ public function writeBaseConfiguration() { + // If the configuration file doesn't exist, create it with the base configuration. if (!$this->files->exists($this->path())) { $baseConfig = [ 'tld' => 'test', @@ -161,6 +162,17 @@ public function writeBaseConfiguration() { $this->write($baseConfig); } + // If the configuration file exists, ensure it has all the necessary keys. + $this->addMissingDefaultConfigKeys(); + } + + /** + * Add any missing necessary default configuration keys. + * + * It will not overwrite any existing configuration values, + * only add missing keys with default values. + */ + public function addMissingDefaultConfigKeys() { $config = $this->read(); // Add default_php if missing or is null. diff --git a/cli/Valet/Upgrader.php b/cli/Valet/Upgrader.php index a42cf6d8d..53cd19ef9 100644 --- a/cli/Valet/Upgrader.php +++ b/cli/Valet/Upgrader.php @@ -36,6 +36,7 @@ public function onEveryRun() { $this->lintNginxConfigs(); $this->upgradeNginxSiteConfigs(); $this->fixOldSampleValetDriver(); + $this->addMissingConfigKeys(); } } @@ -191,4 +192,11 @@ public function fixOldSampleValetDriver(): void { } } } + + /** + * Add any missing necessary default configuration keys. + */ + public function addMissingConfigKeys() { + $this->config->addMissingDefaultConfigKeys(); + } }