编写器需要的内存不足。PHP致命错误:允许的内存大小1610612736字节已用尽
我试图通过运行以下命令将HWIOAuthBundle添加到我的项目中编写器需要的内存不足。PHP致命错误:允许的内存大小1610612736字节已用尽,php,symfony,composer-php,Php,Symfony,Composer Php,我试图通过运行以下命令将HWIOAuthBundle添加到我的项目中 composer require hwi/oauth-bundle php-http/guzzle6-adapter php-http/httplug-bundle php --ini HWIOAuthBundle github: 当我尝试运行composer require时,我遇到了内存不足错误 使用版本^0.6。0@dev用于使用版本^1的hwi/oauth捆绑包。2@dev 用于使用版本^1的php http/GU
composer require hwi/oauth-bundle php-http/guzzle6-adapter php-http/httplug-bundle
php --ini
HWIOAuthBundle github:
当我尝试运行composer require时,我遇到了内存不足错误
使用版本^0.6。0@dev用于使用版本^1的hwi/oauth捆绑包。2@dev
用于使用版本^1的php http/GUZULE6适配器。10@dev对于
php http/httplug bundle./composer.json已更新
具有包信息更新依赖项的composer存储库
(包括需要开发)
PHP致命错误:允许的内存大小1610612736字节已用尽
(尝试在中分配67108864字节)
phar:///usr/local/Cellar/composer/1.4.2/libexec/composer.phar/src/Composer/DependencyResolver/Solver.php 在线220
致命错误:允许的内存大小1610612736字节已用尽(已尝试)
在中分配67108864字节)
phar:///usr/local/Cellar/composer/1.4.2/libexec/composer.phar/src/Composer/DependencyResolver/Solver.php 在线220
我尝试在php.ini文件中将内存限制设置为2G,但没有成功。我通过运行
php-I | grep php.ini
找到我的php.ini要获取当前内存限制值,请运行:
php -r "echo ini_get('memory_limit').PHP_EOL;"
尝试增加php.ini
文件中的限制(对于类似Debian的系统,例如/etc/php5/cli/php.ini
):
或者,可以使用命令行参数增加限制:
php -d memory_limit=-1 composer.phar require hwi/oauth-bundle php-http/guzzle6-adapter php-http/httplug-bundle
要获取加载的php.ini文件,请尝试:
php --ini
另一个快速解决方案:
php composer.phar COMPOSER_MEMORY_LIMIT=-1 require hwi/oauth-bundle php-http/guzzle6-adapter php-http/httplug-bundle
只需设置
memory\u limit
指定composer.phar文件的完整路径,并使用以下命令进行更新:
php -d memory_limit=-1 C:/wamp64/composer.phar update
如果您使用Wampserver,下面是在windows下解决此问题的另一种方法。实际上,在wampserver级别,有两个php.ini文件,一个是php文件,可以在C:\wamp64\bin\php\phpx.xx\php.ini位置找到,另一个是Apache文件,可以在C:\wamp64\bin\apachex.xx\bin\php.ini位置找到。这两个文件都有memory_limit参数。因此,为了确保解决这个问题,最好在两个文件中同时设置memory\u limit=-1参数。最近发现Composer在具有大量历史标记的包上消耗高CPU+内存。看 此问题的解决方法是使用
symfony/flex
或
另一个解决方案是:
Composer还遵守由Composer\u memory\u limit
环境变量定义的内存限制:
COMPOSER_MEMORY_LIMIT=-1 composer.phar <...>
COMPOSER\u MEMORY\u LIMIT=-1 COMPOSER.phar
还是我的情况
export COMPOSER_MEMORY_LIMIT=-1
composer <...>
export COMPOSER\u MEMORY\u LIMIT=-1
作曲家
在我的例子中,我试图要求这样做,但我得到了PHP致命错误:允许的内存大小为
我发现像这样运行很容易,您不必更新PHPINI文件
示例:
COMPOSER\u MEMORY\u LIMIT=-1个COMPOSER需要huddledigital/zendesk laravel
希望这能帮助别人
运行Composer时,可以使用特定的php版本
如果,像我一样,出于某种原因,您使用的是PHP 32位,即使您的计算机是64位的,这将始终限制分配给Composer的内存量。我这样解决了我的问题:
- 在计算机上的某个位置安装64位php版本(比如C:/php64)
- 在composer中(在我的示例中使用cygwin),运行:
COMPOSER\u MEMORY\u LIMIT=-1 C:/php64/php.exe../COMPOSER.phar update
在Windows 10上
转到C:\ProgramData\Composer设置\bin
编辑:composer.bat
并在最后一行添加memory\u limit=-1
,如下所示
@echo OFF
:: in case DelayedExpansion is on and a path contains !
setlocal DISABLEDELAYEDEXPANSION
php -d memory_limit=-1 "%~dp0composer.phar" %*
问题已解决;) 在确保供应商文件夹存在之前,确保不需要软件包
检查您以前是否安装过
composer
。您可能只是将存储库克隆到您的计算机上。因此,在需要新的软件包之前,您必须先安装旧的软件包。或者您可能希望在composer命令中包含此选项--profile
,以查看计时和内存使用信息。只想分享一下我在这方面的情况
问题背景:
composer update
Fatal error: Allowed memory size of 1610612736 bytes exhausted (tried to allocate 4096 bytes) in phar:///usr/local/bin/composer/src/Composer/DependencyResolver/RuleWatchGraph.php on line 52 Check https://getcomposer.org/doc/articles/troubleshooting.md#memory-limit-errors for more info on how to handle out of memory errors.
将“内存限制”设置为-1对我有效;)(vim/etc/php/7.2/cli/php.ini)由于之前的答案中没有一个包含
set
,我花了一点时间才弄明白如何在不更改php.ini的情况下在Windows中执行此操作,但以下是对我有效的方法:
set COMPOSER_MEMORY_LIMIT=-1
composer require hwi/oauth-bundle php-http/guzzle6-adapter php-http/httplug-bundle
要覆盖此选项并修复本地计算机上的问题,可以在
php.ini
配置文件中进行以下更改
php.ini
配置文件,可以使用以下命令:php--ini
Configuration File (php.ini) Path: /usr/local/etc/php/7.3
Loaded Configuration File: /usr/local/etc/php/7.3/php.ini <---- note the path
Scan for additional .ini files in: /usr/local/etc/php/7.3/conf.d
Additional .ini files parsed: /usr/local/etc/php/7.3/conf.d/ext-opcache.ini
Configuration File (php.ini) Path: /usr/local/etc/php/7.3
Loaded Configuration File: /usr/local/etc/php/7.3/php.ini <---- note the path
Scan for additional .ini files in: /usr/local/etc/php/7.3/conf.d
Additional .ini files parsed: /usr/local/etc/php/7.3/conf.d/ext-opcache.ini
$ memory_limit = -1 or memory_limit = 1G
php -d memory_limit=-1 /usr/local/bin/composer require ...
# composer high-memory
composermem() {
php -r "echo ini_get('memory_limit').PHP_EOL;"
}
alias composerbig='COMPOSER_MEMORY_LIMIT=-1 composer $1'
COMPOSER_MEMORY_LIMIT=-1 composer require the/library
COMPOSER_MEMORY_LIMIT=-1 composer require <package-name> --ignore-platform-reqs
php --ini
Configuration File (php.ini) Path: /usr/local/etc/php/7.4
Loaded Configuration File: /usr/local/etc/php/7.4/php.ini
Scan for additional .ini files in: /usr/local/etc/php/7.4/conf.d
Additional .ini files parsed: /usr/local/etc/php/7.4/conf.d/ext-opcache.ini,
/usr/local/etc/php/7.4/conf.d/php-memory-limits.ini
/usr/local/etc/php/7.4/conf.d/php-memory-limits.ini
memory_limit = -1 or memory_limit = 1G
php -d memory_limit=-1 "C:\ProgramData\ComposerSetup\bin\composer.phar" update
;memory_limit=512M
memory_limit =-1
; Maximum amount of memory a script may consume
; http://php.net/memory-limit
memory_limit =-1
;memory_limit=512M
COMPOSER_MEMORY_LIMIT=-1 composer update
COMPOSER_MEMORY_LIMIT=-1 composer require spatie/laravel-translatable
composer self-update --2
docker-compose -f .docker/docker-compose.yml exec php env COMPOSER_MEMORY_LIMIT=-1 composer require fideloper/proxy
;http://php.net/memory-limit
memory_limit=2G
php --ini
COMPOSER_MEMORY_LIMIT=-1 composer require hwi/oauth-bundle php-http/guzzle6-adapter php-http/httplug-bundle