我试图通过运行下面的命令将HWIOAuthBundle添加到我的项目中。
composer require hwi/oauth-bundle php-http/guzzle6-adapter php-http/httplug-bundle
HWIOAuthBundle github: https://github.com/hwi/HWIOAuthBundle
当我试图运行作曲家要求,我得到了内存错误。
Using version ^0.6.0@dev for hwi/oauth-bundle Using version ^1.2@dev
for php-http/guzzle6-adapter Using version ^1.10@dev for
php-http/httplug-bundle ./composer.json has been updated Loading
composer repositories with package information Updating dependencies
(including require-dev)
PHP Fatal error: Allowed memory size of 1610612736 bytes exhausted
(tried to allocate 67108864 bytes) in
phar:///usr/local/Cellar/composer/1.4.2/libexec/composer.phar/src/Composer/DependencyResolver/Solver.php on line 220
Fatal error: Allowed memory size of 1610612736 bytes exhausted (tried
to allocate 67108864 bytes) in
phar:///usr/local/Cellar/composer/1.4.2/libexec/composer.phar/src/Composer/DependencyResolver/Solver.php on line 220
我尝试在我的php.ini文件中设置内存限制为2G,但没有工作。我找到我的php.ini通过运行php -i | grep php.ini
要获取当前的memory_limit值,运行:
php -r "echo ini_get('memory_limit').PHP_EOL;"
尝试增加php.ini文件中的限制(例如/etc/php5/cli/php.ini对于debian类系统):
; Use -1 for unlimited or define an explicit value like 2G
memory_limit = -1
或者,你可以用命令行参数增加限制:
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
或者是:
COMPOSER_MEMORY_LIMIT=-1 composer require hwi/oauth-bundle php-http/guzzle6-adapter php-http/httplug-bundle
我使用php7.2,大小默认设置为memory_limit = 512M。
要增加大小,需要定位php.ini。
在Wamp中,它位于C:\wamp64\bin\php\php7.2.23\php.ini。请注意PHP版本,因为它是名称文件夹,在我的情况下,我有php7.2.23
在Laragon中,它位于C:\ Laragon \bin\php\php-7.2.23- win32 - vc15 -x64\php.ini中。
如果您不想允许无限的空间,您可以设置任何您方便的大小,在我的例子中,我使用memory_limit = 2G
如果希望允许无限空间,可以更改为memory_limit = -1
要获取当前的memory_limit值,运行:
php -r "echo ini_get('memory_limit').PHP_EOL;"
尝试增加php.ini文件中的限制(例如/etc/php5/cli/php.ini对于debian类系统):
; Use -1 for unlimited or define an explicit value like 2G
memory_limit = -1
或者,你可以用命令行参数增加限制:
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
或者是:
COMPOSER_MEMORY_LIMIT=-1 composer require hwi/oauth-bundle php-http/guzzle6-adapter php-http/httplug-bundle
只是想分享一下我在这件事上的情况。
问题背景:
在一个流浪的盒子里运行作曲家。
在尝试运行composer require " laravell -doctrine/orm:~1.4.13"后得到此消息:
致命错误:在phar:///usr/local/bin/composer/src/ composer/ DependencyResolver/RuleWatchGraph.php第52行中,允许的内存大小为1610612736字节已耗尽(试图分配4096字节)
有关如何处理内存不足错误的更多信息,请访问https://getcomposer.org/doc/articles/troubleshooting.md#memory-limit-errors。
已尝试将php.ini内存限制设置为-1。(仍然没有工作)。
解决方案:
显然是我的作曲家。Json和composer。洛克有一些问题。
运行$ composer validate,结果是:
“锁文件不符合composer的最新更改。Json,建议您运行composer update。
所以我运行$ composer update,所有依赖项都被解析了。依我之见,当依赖关系出现问题时,可能是树的构建不同步,因此出现内存不足的问题。
希望这对大家有所帮助。