加载Symfony 2.8.3

时间:2016-03-11 22:59:21

标签: symfony composer-php travis-ci zikula

  
      
  • 安装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的问题。

有没有人对如何解决问题有任何建议?

log from failed build

composer.json file

.travis.yml file

2 个答案:

答案 0 :(得分:6)

而是composer update您应该在CI服务器上调用composer install -o(使用优化的自动加载器)。

正在运行作曲家安装:

  • 检查composer.lock文件是否存在
  • 如果没有,请执行编辑器更新以创建composer.lock
  • 如果存在composer.lock,请从锁定文件
  • 安装指定的版本

正在运行作曲家更新:

  • 检查composer.json
  • 根据您的版本规范确定要安装的最新版本 - 耗费时间和内存的任务
  • 安装最新版本
  • 更新composer.lock以反映已安装的最新版本

使用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个内核