为什么我使用以上 Composer 作为仓库源总会出错
为什么我按教程把包的仓库源按成composer config -g repo.packagist composer https://packagist.laravel-china.org
后请求好多包都会出现内存错误,错误内容如下:
Allowed memory size of 1610612736 bytes exhausted (tried to allocate 67108864 bytes)
关于 LearnKu
你就给 PHP 分配了 64M 内存,用哪个仓库源都要报错
@leo 我分配给PHP的不是64M,是1280M都没有用,还是出现这样的错误
php -r "echo ini_get('memory_limit').PHP_EOL;"
1280M
@tomming 刚刚复制错数字了。。。
感觉是你引入了某个有问题的包导致的,那个包的依赖范围过广导致内存超限。
可以建一个新的项目,然后逐个引入你之前项目的包,看看是哪个引起的。
建议贴出完整信息
还是内存问题,调到4096M就可以了
php -d memory_limit=-1 /usr/local/bin/composer require vendor/package
@leo 我也出现了,本地homestead没有问题,部署到服务器后报错
我也遇到类似的问题,有点不一样,但是也是报的不能分配内存。

php 已经设置 -1 不限定内存了,估计是操作系统级别报的了。
经过多翻测试后发现,别非特定的包造成的,而是包数量一多,可能是引用的达到一定的值后就报错了。
使用 composer install 却不会报出任何错误。
首先修改 /etc/php/7.3/fpm/php.ini 中的 memory_limit = 2048M;再修改 /etc/php/7.3/cli /php.ini 中的 memory_limit = 2048M