addListener('civi.setup.checkRequirements', function (\Civi\Setup\Event\CheckRequirementsEvent $e) { \Civi\Setup::log()->info(sprintf('[%s] Handle %s', basename(__FILE__), 'checkRequirements')); $model = $e->getModel(); if (!$model->cmsBaseUrl || !preg_match('/^https?:/', $model->cmsBaseUrl)) { $e->addError('system', 'cmsBaseUrl', "The \"cmsBaseUrl\" ($model->cmsBaseUrl) is unavailable or malformed. Consider setting it explicitly."); return; } $selfDir = dirname($_SERVER['PHP_SELF']); if (PHP_SAPI === 'cli' && $selfDir !== '/' && strpos($model->cmsBaseUrl, $selfDir) !== FALSE) { $e->addError('system', 'cmsBaseUrl', "The \"cmsBaseUrl\" ($model->cmsBaseUrl) is unavailable or malformed. Consider setting it explicitly."); return; } $e->addInfo('system', 'cmsBaseUrl', 'The "cmsBaseUrl" appears well-formed.'); });