public function execute() { $issues = PhabricatorSetupCheck::runNormalChecks(); $fatal_issue = null; foreach ($issues as $issue) { if ($issue->getIsFatal()) { $fatal_issue = $issue; break; } } if ($fatal_issue) { // If we've discovered a fatal, we reset any in-flight state to push // web hosts out of service. // This can happen if Phabricator starts during a disaster and some // databases can not be reached. We allow Phabricator to start up in // this situation, since it may still be able to usefully serve requests // without risk to data. // However, if databases later become reachable and we learn that they // are fatally misconfigured, we want to tear the world down again // because data may be at risk. PhabricatorSetupCheck::resetSetupState(); return PhabricatorSetupCheck::newIssueResponse($issue); } $issue_keys = PhabricatorSetupCheck::getUnignoredIssueKeys($issues); PhabricatorSetupCheck::setOpenSetupIssueKeys($issue_keys, $update_database = true); $this->issues = $issues; return null; }