我一直在尝试使用1个小装备在Openshift中部署我的Symfony2项目。我的计划是在完成将代码推送到服务器后执行composer update
。不幸的是,错误一直告诉我没有足够的内存来执行命令。
所以我想通过从.gitignore
文件中删除它们来取消在vendor文件夹中取消所需的包,但它仍然不会包含在提交中。
答案 0 :(得分:0)
众所周知,Composer消耗大量内存。您应该构建项目(composer update
,php app/console assetic:dump
,...),然后将其推送到服务器。看看Jenkins,它是一个很好的工具。
无论如何,如果要强制跟踪被忽略的文件,可以使用git add -f
命令。
答案 1 :(得分:0)
你应该只更新dev中的composer,为prod服务器使用:composer install(你需要在版本控制下有composer.lock)
答案 2 :(得分:0)
这是与服务器上内存不足有关的常见问题。解决方案是添加交换分区,以便您有足够的内存来完成更新。
free -m
/bin/dd if=/dev/zero of=/var/swap.1 bs=1M count=1024 // 1GB, or
/bin/dd if=/dev/zero of=/var/swap.1 bs=1M count=2048 // 2GB
/sbin/mkswap /var/swap.1
/sbin/swapon /var/swap.1
添加交换后,您可以运行更新命令,它将成功完成