Allowed memory size 内存不足

给项目安装依赖包时,有时候会遇到这个问题

PHP 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

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 getcomposer.org/doc/articles/troub... for more info on how to handle out of memory errors.%

大概就是内存不足的意思,看了很多网友的解决方案都是修改 memory_limit = -1,但是我并不想为了安装依赖包去修改 PHP 配置,针对这个问题, Composer 官方给出了多个解决方案。

Allowed memory size 内存不足
其中通过临时设置内存大小 COMPOSER_MEMORY_LIMIT=-1 正好符合我需求。
例如:COMPOSER_MEMORY_LIMIT=-1 composer require "spatie/laravel-permission:~3.0"

本作品采用《CC 协议》,转载必须注明作者和本文链接
为了点个赞,专门注册的账号
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 5

今晚还专门查阅了相关的资料,使用的是

php -d memory_limit=-1 composer.phar

需要注意的是 composer.phar 需要使用绝对路径.

如下这个的确不错哦,感谢总结分享!

COMPOSER_MEMORY_LIMIT=-1 composer ...
3年前 评论

@wenyu @zavatar 觉得 low 的话,请忽略此贴,谢谢。

3年前 评论

感谢,不过我得在前面加个env才行:

env COMPOSER_MEMORY_LIMIT=-1 composer update fzaninotto/faker
3年前 评论

项目中也遇到过相同的问题,设置或者加参数都可以!! :+1:

3年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!