如何解决 Composer update 时 内存不够

下了最新的 Homestead 0.2.0 准备开始新项目,结果在准备引入包的时候$ composer update 后报错:

PHP Fatal error:  Allowed memory size of 536870912 bytes exhausted (tried to allocate 32 bytes) in phar:///usr/local/bin/composer/src/Composer/DependencyResolver/Rule.php on line 62

如何解决?

  • 输入命令 $ php -i |grep memory 发现限制的内存确实是512Mb

    memory_limit => 512M => 512M
  • 输入 $ php -i | grep php.ini 找到php.ini位置:

    Configuration File (php.ini) Path => /etc/php5/cli
    Loaded Configuration File => /etc/php5/cli/php.ini
  • 用vim打开文件修改配置,$ sudo vim /etc/php5/cli/php.ini: 进入命令行模式 输入/memory_limit,找到memory_limit 修改配置为 memory_limit = 1024M

  • 最后 $ composer up 太阳照常升起,O(∩_∩)O~。

本帖已被设为精华帖!
本帖由系统于 3年前 自动加精
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 7

php -dmemory_limit=-1

5年前 评论

我设置内存大小不管用,然后搜索时交换内存出问题了,

5年前 评论
COMPOSER_MEMORY_LIMIT=-1 composer update/install/require
3年前 评论
内存限制错误#
Composer有时可能在某些命令中失败,并显示以下消息:

PHP Fatal error: Allowed memory size of XXXXXX bytes exhausted <...>

在这种情况下,memory_limit应该增加PHP 。

要获取当前memory_limit值,请运行:

php -r "echo ini_get('memory_limit').PHP_EOL;"
尝试增加php.ini文件中的限制(例如,/etc/php5/cli/php.ini对于类似Debian的系统)
 查看composer的php版本 -i | grep php.ini
 Configuration File (php.ini) Path => C:\WINDOWS            Loaded Configuration File => F:\software\laragon\laragon\bin\php\php-7.1.3-Win32-VC14-x64\php.ini  
; Use -1 for unlimited or define an explicit value like 2G
memory_limit = -1
3年前 评论

麻烦问下sudo命令修改memory_limit之后如何保存以及退出??

3年前 评论

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