【发布时间】:2016-10-15 13:30:27
【问题描述】:
我尝试过的事情:
- 删除除 Laravel(版本 4.2.*)之外的所有内容 - 这已完成,但仍会挂起大约 5 分钟
- 更新作曲家
- 删除 /vendor
- 进行干净的 Laravel 4.2 安装(挂起大约 3 分钟)
- 进行干净的 Laravel 5 安装(根本没有挂起)
- 完全关闭 xdebug(似乎没有什么不同)
对于我所有的包,我已经看到 composer 完成了,但只有当我让它在一夜之间运行时。我根本无法部署到伪造,因为它超时了!这只是在大约两周前才开始发生的。
【问题讨论】:
-
Turning off xdebug completely (doesn't seem to make a difference)- 这应该会产生巨大的不同,尤其是在没有 SSD 或没有高端 Intel 芯片或两者兼有的机器上。您确定它已关闭吗?我之前在我同事的另一台开发机器上看到过这个问题,作曲家需要几个小时才能进行简单的更新。这个问题最终是一个损坏的作曲家安装。擦除作曲家工件的系统并重新安装效果很好。 -
好的,是的,它确实有很大的不同(在错误的 php.ini 中将其关闭),但它仍然慢到足以让我的伪造服务器超时。底线是当事情从需要 10 分钟到 10 小时(即使启用了 xdebug)时,会有更大的事情发生。
-
我不反对你。我认为这里还有其他事情发生,可能是 DNS 解析问题或防火墙问题。你能
strace /usr/bin/composer看看在执行composer update时发生了什么吗? sidenote strace 会倾倒很多东西,所以它有点像大海捞针,但它绝对有用。但是,可能有更好的方法来调试它。我还找到了composer config --global repo.packagist composer https://packagist.org的提示,该提示要求设置使用 HTTPS,并且似乎为其他人解决了这个问题。 -
它发生在我们所有的开发环境中,即使是全新的 4.2 安装。我几乎可以肯定这是由于 Laravel 4.2 的依赖,因为此时 5.2 根本没有挂起。我之前在尝试调试时切换到 https,可能会有所帮助,但基准测试已经完成。
-
我可以看看你的
composer.json,以便我可以尝试在本地安装它吗?我们维护 4.2 LTS 堆栈,没有这个问题。
标签: laravel laravel-4 composer-php forge