HomePhabricator

Split setup check phases into "preflight" and "post-config"

Description

Split setup check phases into "preflight" and "post-config"

Summary:
Ref T11589. This runs:

  • preflight checks (critical checks: PHP version stuff, extensions);
  • configuration;
  • normal checks.

The PHP checks are split into critical ("bad version") and noncritical ("sub-optimal config").

I tidied up the extension checks slightly, we realistically depend on cURL nowadays.

Test Plan:

  • Faked a preflight failure.
  • Hit preflight check.
  • Got expected error screen.
  • Loaded normal pages.
  • Hit a normal setup check.
  • Used DarkConsole "Startup" tab to verify that preflight checks take <1ms to run (we run them on every page without caching, at least for now, but they only do trivial checks like PHP versions).

Reviewers: chad

Reviewed By: chad

Maniphest Tasks: T11589

Differential Revision: https://secure.phabricator.com/D16500