2

当我尝试使用 Composer 客户端将软件包安装到 Contao 时,出现错误:

致命错误:第 220 行 phar://D:/wamp/www/myproject/composer/composer.phar/src/Composer/DependencyResolver/Solver.php 中允许的内存大小为 1073741824 字节已用尽(试图分配 134217728 字节)

真的很困惑。我的 PHP 内存限制设置为 512M。phpinfo()确认它。但是 1073741824 是一个千兆字节!但这仍然不够,好像脚本完全无视 PHP 内存限制(在哪里?),甚至 1 GB 还不够!?!?

我能做些什么?我读到了 RLimitMEM,但我在 WAMPServer 上的任何地方都找不到这样的设置。

4

2 回答 2

1

我找到了答案。

我搜索了该项目memory_limit并发现,作曲家客户端尝试在system/modules/!composer/src/Runtime.php有这一行中设置内存限制:@ini_set('memory_limit', '1024M');我将其更改为@ini_set('memory_limit', '2048M');基本上将可用内存加倍,并且它起作用了。

于 2017-01-25T21:18:10.957 回答
1

推荐作曲家客户端使用所谓的分离模式。如果您有适当的 CLI 环境可用,您将没有内存限制和最长执行时间。此外,这两个限制都可以通过命令行参数进行控制。

但是,这不适用于所有托管环境。有关更多详细信息,请参阅此 Wiki 条目:https ://github.com/contao-community-alliance/composer-client/wiki/Execution-modes

于 2017-01-26T09:37:48.583 回答