/**
* 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;
}