From b5e64f5a6ed1c7160a6104097185cc486db3aa95 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=A1bor=20Hojtsy?= Date: Fri, 4 Jan 2008 17:19:04 +0000 Subject: #197720 by nedjo, scor, keith.smith, catch: inform installing users about PHP memory requirements of Drupal 6 --- modules/system/system.install | 18 ++++++++++++++++++ modules/system/system.module | 5 +++++ 2 files changed, 23 insertions(+) (limited to 'modules') diff --git a/modules/system/system.install b/modules/system/system.install index 969821717..8035c8dbe 100644 --- a/modules/system/system.install +++ b/modules/system/system.install @@ -62,6 +62,24 @@ function system_requirements($phase) { $requirements['php']['description'] = $t('Your PHP installation is too old. Drupal requires at least PHP %version.', array('%version' => DRUPAL_MINIMUM_PHP)); $requirements['php']['severity'] = REQUIREMENT_ERROR; } + + // Test PHP memory_limit + $requirements['php_memory_limit'] = array( + 'title' => $t('PHP memory limit'), + 'value' => ini_get('memory_limit') ? ini_get('memory_limit') : '', + ); + if ($phase == 'install') { + if (ini_get('memory_limit') && parse_size(ini_get('memory_limit')) < parse_size(DRUPAL_MINIMUM_PHP_MEMORY_LIMIT)) { + $requirements['php_memory_limit']['description'] = $t('Consider increasing your PHP memory limit to %memory_minimum_limit to help prevent errors in the installation process. If you have access to php.ini you can usually change this setting there. See the Drupal requirements for more information.', array('%memory_minimum_limit' => DRUPAL_MINIMUM_PHP_MEMORY_LIMIT, '@url' => 'http://drupal.org/requirements')); + $requirements['php_memory_limit']['severity'] = REQUIREMENT_WARNING; + } + } + elseif ($phase == 'runtime') { + if (ini_get('memory_limit') && parse_size(ini_get('memory_limit')) < parse_size(DRUPAL_MINIMUM_PHP_MEMORY_LIMIT)) { + $requirements['php_memory_limit']['description'] = $t('Depending on your configuration, Drupal can run with a %memory_limit PHP memory limit. However, a %memory_minimum_limit PHP memory limit or above is recommended, especially if your site uses additional custom or contributed modules. If you have access to php.ini you can usually change this setting there. See the Drupal requirements for more information.', array('%memory_limit' => ini_get('memory_limit'), '%memory_minimum_limit' => DRUPAL_MINIMUM_PHP_MEMORY_LIMIT, '@url' => 'http://drupal.org/requirements')); + $requirements['php_memory_limit']['severity'] = REQUIREMENT_WARNING; + } + } // Test DB version global $db_type; diff --git a/modules/system/system.module b/modules/system/system.module index 2431ef613..2b962c7b0 100644 --- a/modules/system/system.module +++ b/modules/system/system.module @@ -21,6 +21,11 @@ define('DRUPAL_CORE_COMPATIBILITY', '6.x'); */ define('DRUPAL_MINIMUM_PHP', '4.3.3'); +/** + * Minimum recommended value of PHP memory_limit. + */ +define('DRUPAL_MINIMUM_PHP_MEMORY_LIMIT', '16M'); + /** * Minimum supported version of MySQL, if it is used. */ -- cgit v1.2.3