1
0
Fork 0

Merge pull request #4616 from staabm/memtroubleshoot

added a troubleshooting link in case of out-of-memory errors
pull/4618/head
Jordi Boggiano 2015-11-17 15:29:08 +00:00
commit 30e6a63958
1 changed files with 16 additions and 0 deletions

View File

@ -56,6 +56,8 @@ class Application extends BaseApplication
public function __construct() public function __construct()
{ {
static $shutdownRegistered = false;
if (function_exists('ini_set') && extension_loaded('xdebug')) { if (function_exists('ini_set') && extension_loaded('xdebug')) {
ini_set('xdebug.show_exception_trace', false); ini_set('xdebug.show_exception_trace', false);
ini_set('xdebug.scream', false); ini_set('xdebug.scream', false);
@ -65,6 +67,20 @@ class Application extends BaseApplication
date_default_timezone_set(@date_default_timezone_get()); date_default_timezone_set(@date_default_timezone_get());
} }
if (!$shutdownRegistered) {
$shutdownRegistered = true;
register_shutdown_function(function() {
$lastError = error_get_last();
if ($lastError && $lastError['message'] &&
(strpos($lastError['message'], 'Allowed memory') !== false /*Zend PHP out of memory error*/ ||
strpos($lastError['message'], 'exceeded memory') !== false /*HHVM out of memory errors*/)) {
echo "\n". 'Check https://getcomposer.org/doc/articles/troubleshooting.md#memory-limit-errors for more info on how to handle out of memory errors.';
}
});
}
parent::__construct('Composer', Composer::VERSION); parent::__construct('Composer', Composer::VERSION);
} }