diff --git a/install/install.php b/install/install.php index 9dff3facf2e71a085e1cbc0994eb7cc8e967957b..a2e0ee454c19889b5316b0066a8da8447a00ece0 100644 --- a/install/install.php +++ b/install/install.php @@ -150,6 +150,8 @@ if (!$inst->get_php_version()) die('ISPConfig requieres PHP '.$inst->min_php."\n $retval=shell_exec("which which"); if (empty($retval)) die ("ISPConfig requieres which \n"); +$inst->check_prerequisites(); + swriteln($inst->lng(' Following will be a few questions for primary configuration so be careful.')); swriteln($inst->lng(' Default values are in [brackets] and can be accepted with <ENTER>.')); swriteln($inst->lng(' Tap in "quit" (without the quotes) to stop the installer.'."\n\n")); diff --git a/install/lib/installer_base.lib.php b/install/lib/installer_base.lib.php index 70ce20c7c8c1b013e02e31117fc06e746497ea00..be705b6c0282c8c3f3001a1e8b14779292df6454 100644 --- a/install/lib/installer_base.lib.php +++ b/install/lib/installer_base.lib.php @@ -198,6 +198,18 @@ class installer_base { if (($conf['apache']['installed'] && is_file($conf['apache']["vhost_conf_enabled_dir"]."/000-ispconfig.vhost")) || ($conf['nginx']['installed'] && is_file($conf['nginx']["vhost_conf_enabled_dir"]."/000-ispconfig.vhost"))) $this->ispconfig_interface_installed = true; } + + //** Check prerequisites + public function check_prerequisites() { + $msg = ''; + + if(version_compare(phpversion(), '5.4', '<')) $msg .= "PHP Version 5.4 or newer is required. The currently used PHP version is ".phpversion().".\n"; + if(!function_exists('curl_init')) $msg .= "PHP Curl Module is missing.\n"; + if(!function_exists('mysqli_connect')) $msg .= "PHP MySQLi Module is nmissing.\n"; + if(!function_exists('mb_detect_encoding')) $msg .= "PHP Multibyte Module (MB) is missing.\n"; + + if($msg != '') die($msg); + } public function force_configure_app($service, $enable_force=true) { $force = false; diff --git a/install/update.php b/install/update.php index 3b3cf969ef3cefa8e8ad76c6eed31a0da75969e0..bc7b0aa75f29512454e22ab7a51e321f7da31a1f 100644 --- a/install/update.php +++ b/install/update.php @@ -188,6 +188,8 @@ $inst = new installer(); if (!$inst->get_php_version()) die('ISPConfig requieres PHP '.$inst->min_php."\n"); $inst->is_update = true; +$inst->check_prerequisites(); + echo "This application will update ISPConfig 3 on your server.\n\n"; //* Make a backup before we start the update