Index: typo3/sysext/install/mod/class.tx_install.php =================================================================== --- typo3/sysext/install/mod/class.tx_install.php (revision 8269) +++ typo3/sysext/install/mod/class.tx_install.php (working copy) @@ -261,6 +261,12 @@ $this->mode = t3lib_div::_GP('mode'); if ($this->mode !== '123') { $this->mode = ''; + } else { + $missingPHPModules = $this->getMissingPHPModules(); + if (count($missingPHPModules) > 0) { + t3lib_BEfunc::typo3PrintError('TYPO3 Installation Error', 'The following PHP module(s) is/are missing: ' . implode(', ', $missingPHPModules)); + die(); + } } if (t3lib_div::_GP('step') === 'go') { $this->step = 'go'; @@ -4111,6 +4117,21 @@ return (is_array($test) ? 1 : 0); } + /** + * Checks if the essential PHP modules are loaded + * + * @return array list of modules which are missing + */ + protected function getMissingPHPModules() { + $modules = array('filter', 'gd', 'json', 'mysql', 'pcre', 'session', 'SPL', 'standard', 'xml', 'zlib'); + $result = array(); + foreach ($modules as $module) { + if (!extension_loaded($module)) { + $result[] = $module; + } + } + return $result; + } @@ -4120,7 +4141,6 @@ - /***************************************** * * ABOUT the isXXX functions.