- 安装symfony / symfony(v2.8.3) 下载:85%PHP致命错误:在phar:///home/travis/.phpenv/versions/5.4.37/bin/composer/src/Composer/Util中,允许的内存大小为1073741824字节(尝试分配6553600字节)第174行的/RemoteFilesystem.php 致命错误:在phar:///home/travis/.phpenv/versions/5.4.37/bin/composer/src/Composer/Util/RemoteFilesystem.php上,允许的内存大小为1073741824字节(尝试分配6553600字节)第174行
几乎我的项目的每个版本都失败了,因为我们从Symfony 2.8.2更新了 - > 2.8.3出现此错误(内存不足)。如果我强制重建足够多次,它最终会通过,所以这显然不是项目的问题,而是使用travis或composer或组合(或Symfony,我想)。它只在尝试加载Symfony时失败。看起来这个问题会很普遍,但我找不到任何关于SO或GH的问题。
有没有人对如何解决问题有任何建议?
答案 0 :(得分:6)
而是composer update
您应该在CI服务器上调用composer install -o
(使用优化的自动加载器)。
正在运行作曲家安装:
正在运行作曲家更新:
使用composer.lock
文件中的依赖项版本可以让您确信您的测试是在与您用于开发的完全相同的依赖项上执行的。即使您的composer.json
使用dev-master
版本。
如果由于某些原因你想在travis上运行composer update
,那么在编译器安装之前禁用xdebug
(如果测试需要,则启用它)可以提高composer
性能。默认情况下,在travis上启用xdebug
。
在php扩展程序中运行Composer控制台命令" xdebug"是 装载会大大降低速度。所有情况都是如此 " Xdebug的"相关的功能是每个php.ini标志禁用,但PHP 扩展本身被加载到PHP引擎中。与cli相比 命令运行" xdebug"使速度提高了一倍 最多3个并不罕见。
https://getcomposer.org/doc/articles/troubleshooting.md#xdebug-impact-on-composer
答案 1 :(得分:1)
我遇到了同样的问题,我使用的解决方法是在before_install
中添加以下内容:
echo "memory_limit=520M" >> ~/.phpenv/versions/$(phpenv version-name)/etc/conf.d/travis.ini
来自this issue的travis。在免费计划中,travis提供3GB内存和最多2个内核