protected function stepRequirement()
{
if (!defined('PHP_VERSION_ID')) {
$version = explode('.', PHP_VERSION);
define('PHP_VERSION_ID', $version[0] * 10000 + $version[1] * 100 + $version[2]);
}
$versionCheck = constant('PHP_VERSION_ID') < 50509 ? false : true;
if (!$versionCheck) {
throw new \Exception('PHP version is not available');
}
$extensions = ['PDO', 'pdo_mysql', 'curl', 'gd', 'mbstring', 'openssl', 'zip'];
$result = [];
foreach ($extensions as $ext) {
$result[$ext] = extension_loaded($ext);
$this->output->write("- check {$ext} extension: ");
if ($result[$ext]) {
$this->info('true');
} else {
$this->error('false');
}
}
$this->output->newLine();
if (array_search(false, $result) > -1) {
throw new \Exception('PHP extension is not ready! Please check php extensions. And retry install.');
}
}