Merge pull request #9208 from simonberger/cleanup-memory-limit-logic
Cleaned up memory_limit set logicpull/9232/head
commit
bd2f321527
48
bin/composer
48
bin/composer
|
@ -26,33 +26,35 @@ if (defined('HHVM_VERSION') && version_compare(HHVM_VERSION, '4.0', '>=')) {
|
||||||
if (function_exists('ini_set')) {
|
if (function_exists('ini_set')) {
|
||||||
@ini_set('display_errors', 1);
|
@ini_set('display_errors', 1);
|
||||||
|
|
||||||
$memoryInBytes = function ($value) {
|
|
||||||
$unit = strtolower(substr($value, -1, 1));
|
|
||||||
$value = (int) $value;
|
|
||||||
switch($unit) {
|
|
||||||
case 'g':
|
|
||||||
$value *= 1024;
|
|
||||||
// no break (cumulative multiplier)
|
|
||||||
case 'm':
|
|
||||||
$value *= 1024;
|
|
||||||
// no break (cumulative multiplier)
|
|
||||||
case 'k':
|
|
||||||
$value *= 1024;
|
|
||||||
}
|
|
||||||
|
|
||||||
return $value;
|
|
||||||
};
|
|
||||||
|
|
||||||
$memoryLimit = trim(ini_get('memory_limit'));
|
|
||||||
// Increase memory_limit if it is lower than 1.5GB
|
|
||||||
if ($memoryLimit != -1 && $memoryInBytes($memoryLimit) < 1024 * 1024 * 1536) {
|
|
||||||
@ini_set('memory_limit', '1536M');
|
|
||||||
}
|
|
||||||
// Set user defined memory limit
|
// Set user defined memory limit
|
||||||
if ($memoryLimit = getenv('COMPOSER_MEMORY_LIMIT')) {
|
if ($memoryLimit = getenv('COMPOSER_MEMORY_LIMIT')) {
|
||||||
@ini_set('memory_limit', $memoryLimit);
|
@ini_set('memory_limit', $memoryLimit);
|
||||||
|
} else {
|
||||||
|
$memoryInBytes = function ($value) {
|
||||||
|
$unit = strtolower(substr($value, -1, 1));
|
||||||
|
$value = (int) $value;
|
||||||
|
switch($unit) {
|
||||||
|
case 'g':
|
||||||
|
$value *= 1024;
|
||||||
|
// no break (cumulative multiplier)
|
||||||
|
case 'm':
|
||||||
|
$value *= 1024;
|
||||||
|
// no break (cumulative multiplier)
|
||||||
|
case 'k':
|
||||||
|
$value *= 1024;
|
||||||
|
}
|
||||||
|
|
||||||
|
return $value;
|
||||||
|
};
|
||||||
|
|
||||||
|
$memoryLimit = trim(ini_get('memory_limit'));
|
||||||
|
// Increase memory_limit if it is lower than 1.5GB
|
||||||
|
if ($memoryLimit != -1 && $memoryInBytes($memoryLimit) < 1024 * 1024 * 1536) {
|
||||||
|
@ini_set('memory_limit', '1536M');
|
||||||
|
}
|
||||||
|
unset($memoryInBytes);
|
||||||
}
|
}
|
||||||
unset($memoryInBytes, $memoryLimit);
|
unset($memoryLimit);
|
||||||
}
|
}
|
||||||
|
|
||||||
putenv('COMPOSER_BINARY='.realpath($_SERVER['argv'][0]));
|
putenv('COMPOSER_BINARY='.realpath($_SERVER['argv'][0]));
|
||||||
|
|
Loading…
Reference in New Issue