/** * Implements hook_requirements(). */ function {{ machine_name }}_requirements($phase) { $requirements = []; // Report Drupal version if ($phase == 'runtime') { $requirements['drupal'] = [ 'title' => t('Drupal'), 'value' => \Drupal::VERSION, 'severity' => REQUIREMENT_INFO, ]; } // Test PHP version $requirements['php'] = [ 'title' => t('PHP'), 'value' => ($phase == 'runtime') ? \Drupal::l(phpversion(), new Url('system.php')) : phpversion(), ]; if (version_compare(phpversion(), DRUPAL_MINIMUM_PHP) < 0) { $requirements['php']['description'] = t('Your PHP installation is too old. Drupal requires at least PHP %version.', ['%version' => DRUPAL_MINIMUM_PHP]); $requirements['php']['severity'] = REQUIREMENT_ERROR; } // Report cron status if ($phase == 'runtime') { $cron_last = \Drupal::state()->get('system.cron_last'); if (is_numeric($cron_last)) { $requirements['cron']['value'] = t('Last run @time ago', ['@time' => \Drupal::service('date.formatter')->formatTimeDiffSince($cron_last)]); } else { $requirements['cron'] = [ 'description' => t('Cron has not run. It appears cron jobs have not been setup on your system. Check the help pages for configuring cron jobs.', [':url' => 'https://www.drupal.org/cron']), 'severity' => REQUIREMENT_ERROR, 'value' => t('Never run'), ]; } $requirements['cron']['description'] .= ' ' . t('You can run cron manually.', [':cron' => Url::fromRoute('system.run_cron')->toString()]); $requirements['cron']['title'] = t('Cron maintenance tasks'); } return $requirements; }