Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

Merge remote-tracking branch 'chEbba/memory_limit'

Conflicts:
	bin/composer
  • Loading branch information...
commit 3946a44499fe14b96eb3d1a5908f80842782e8f4 2 parents 573aad8 + 34c4f94
@Seldaek Seldaek authored
Showing with 49 additions and 1 deletion.
  1. +22 −1 bin/composer
  2. +27 −0 doc/articles/troubleshooting.md
View
23 bin/composer
@@ -9,7 +9,28 @@ error_reporting(-1);
if (function_exists('ini_set')) {
@ini_set('display_errors', 1);
- @ini_set('memory_limit', '512M');
+
+ $memoryInBytes = function ($value) {
+ $unit = strtolower(substr($value, -1, 1));
+ $value = (int) $value;
+ switch($unit) {
+ case 'g':
+ $value *= 1024;
@olamedia
olamedia added a note

Let's make 3 multiplications, replacing breaks with comment lines to make cool script XD

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
+ case 'm':
+ $value *= 1024;
+ case 'k':
+ $value *= 1024;
+ }
+
+ return $value;
+ };
+
+ $memoryLimit = trim(ini_get('memory_limit'));
+ // Increase memory_limit if it is lower than 512M
+ if ($memoryLimit != -1 && $memoryInBytes($memoryLimit) < 512 * 1024 * 1024) {
+ @ini_set('memory_limit', '512M');
+ }
+ unset($memoryInBytes, $memoryLimit);
}
// run the command application
View
27 doc/articles/troubleshooting.md
@@ -0,0 +1,27 @@
+<!--
+ tagline: Solving problems
+-->
+# Memory limit errors
+
+If composer shows memory errors on some commands:
+
+ PHP Fatal error: Allowed memory size of XXXXXX bytes exhausted <...>
+
+The `memory_limit` ini value should be increased.
+
+> **Note:** Composer internally increases the memory_limit to 512M.
+> It is a good idea to create an issue for composer if you get memory errors.
+
+Get current value:
+
+ php -r "echo ini_get('memory_limit').PHP_EOL;"
+
+Increase limit with `php.ini` for a `CLI SAPI` (ex. `/etc/php5/cli/php.ini` for Debian-like systems):
+
+ ; Use -1 for unlimited or define explicit value like 512M
+ memory_limit = -1
+
+Or with command line arguments:
+
+ php -d memory_limit=-1 composer.phar <...>
+

0 comments on commit 3946a44

Please sign in to comment.
Something went wrong with that request. Please try again.