This project is not covered by Drupal’s security advisory policy.

Description

Every time an administrator with the administer site configuration permission opens the Configuration page at /admin/config, Drupal runs the runtime requirements check of every installed module. It does this for one reason only: to decide whether to show a message pointing at the status report. The result is then thrown away.

Those checks are meant to be cheap, but nothing enforces that. One module that opens a network connection, rebuilds extension information or runs a report-sized query turns the Configuration page into the slowest page of the site for every administrator. On large installations it can push the page past the PHP timeout and make it unreachable.

This module makes that particular check optional. Enabling the setting stops the Configuration page from running the checks. Nothing else changes: the status report still calculates everything live, requirement results are never altered or hidden, and no permission or access rule is touched.

The underlying issue is tracked in core as #3336621.

Features

  • Adds one checkbox to the existing Performance settings form. No new configuration page.
  • Disabled by default: installing the module alone changes nothing.
  • Covers both requirement APIs at once, so the same code works on Drupal 10 and on Drupal 11.2 and later, where hook_runtime_requirements() runs alongside the legacy hook.
  • The status report keeps running the checks and remains the authoritative view of the health of the site.
  • Setting stored in this module's own configuration, so it is exported and imported with the rest of your configuration and can be overridden per environment from settings.php.
  • Negligible request-time cost: a route name comparison and one small configuration read.

Post-installation

Go to Administration > Configuration > Development > Performance (/admin/config/development/performance) and, under Administration pages, check Skip live requirements checks on the Configuration page.

On sites that deploy configuration from version control, the standard configuration override lets you enable it per environment without editing the exported file:

$config['requirements_performance.settings']['skip_config_overview_requirements'] = TRUE;

Additional requirements

None. This module requires no modules outside of Drupal core and adds no third party dependencies.

Similar projects

Requirements Manager solves a different half of the problem and the two are complementary. It implements hook_runtime_requirements_alter(), which runs after every requirement has already been executed, so it can hide or re-prioritise results but cannot reduce the cost of producing them. This module acts before the invocation and so removes the work itself, but only on the Configuration page. Both can be installed together.

Trade-offs

While the setting is enabled, the Configuration page no longer shows the One or more problems were detected with your Drupal installation message. The status report is where you review the health of the site, and the Update module keeps warning about insecure releases on administration pages.

This module exists because of an open core issue. If a future Drupal release removes the live check from the Configuration page, the module becomes inert on its own and should be marked obsolete rather than kept as a permanent workaround.

Supporting organizations: 

Project information

Releases