diff --git a/src/applications/config/option/PhabricatorPHDConfigOptions.php b/src/applications/config/option/PhabricatorPHDConfigOptions.php index e106e78de2..81a93dfaa7 100644 --- a/src/applications/config/option/PhabricatorPHDConfigOptions.php +++ b/src/applications/config/option/PhabricatorPHDConfigOptions.php @@ -63,6 +63,13 @@ final class PhabricatorPHDConfigOptions "ENORMOUS amount of output, but can help debug issues. Daemons ". "launched in debug mode with 'phd debug' are always launched in ". "trace mdoe. See also 'phd.verbose'.")), + $this->newOption('phd.variant-config', 'list', array()) + ->setDescription( + pht( + 'Specify config keys that can safely vary between the web tier '. + 'and the daemons. Primarily, this is a way to suppress the '. + '"Daemons and Web Have Different Config" setup issue on a per '. + 'config key basis.')), ); } diff --git a/src/infrastructure/env/PhabricatorEnv.php b/src/infrastructure/env/PhabricatorEnv.php index 5545224ebe..ae40ba4a5c 100644 --- a/src/infrastructure/env/PhabricatorEnv.php +++ b/src/infrastructure/env/PhabricatorEnv.php @@ -232,7 +232,10 @@ final class PhabricatorEnv { public static function calculateEnvironmentHash() { $keys = array_keys(self::getAllConfigKeys()); - ksort($keys); + sort($keys); + + $skip_keys = self::getEnvConfig('phd.variant-config'); + $keys = array_diff($keys, $skip_keys); $values = array(); foreach ($keys as $key) {