我正在尝试使用“phpcomposer.phar update”命令更新 laravel 存储库。但我收到这个错误 -
- Removing symfony/translation (v2.4.8)
PHP Fatal error: Uncaught exception 'ErrorException' with message 'proc_open():
fork failed - Cannot allocate memory' in phar:///var/www/fyc/composer.phar/vend
or/symfony/console/Symfony/Component/Console/Application.php:983
我遇到了一些链接,要求禁用“xdebug”来解决这个问题,但它没有安装在我的系统上。我使用的是 Ubuntu 14.04、PHP 5.5.18、Zend 2.5.0。链接是 -
如何禁用 XDebug https://stackoverflow.com/questions/8754826/how-to-disable-xdebug
https://github.com/composer/composer/issues/1898 https://github.com/composer/composer/issues/1898(阅读最近 15 天的评论)
Update:我知道该错误表明内存较少,但我看到一些线程说分配最多 7GB 也不起作用并且他们的系统挂起。所以,我正在寻找替代解决方案。我的服务器位于符合 AWS 免费套餐条件的 EC2 实例上。不知道它为RAM提供了多少内存。
我发现有些东西可以解决这个问题 -
1) 更新您的 PHP 版本。我认为 5.4.19 之前的版本不起作用。但只要保持最新即可。
2) 禁用/注释 php.ini 文件中的“xdebug”(如果存在)。问题中存在禁用它的链接。
3)如果上述方法均无效,请尝试此方法。这为我工作终于在浪费了一个小时左右之后。
rm -rf vendor/
rm -rf composer.lock
php composer install --prefer-dist
4) 回滚到先前版本的composer。它对某些人有用。这可能是一个临时解决方案(因为您将来肯定想升级)。
5) 这个是杀手. 这个也起作用了您可以使用硬盘创建交换内存。这意味着硬盘中的内存将被用作额外的 RAM,但对其的访问速度会较慢(就像正常的硬盘访问一样)。这对于 RAM 较少的 EC2 实例用户更有用。有关此内容的更多信息在这里 -
https://github.com/composer/composer/issues/945#issuecomment-12548720 https://github.com/composer/composer/issues/945#issuecomment-12548720
http://www.the-tech-tutorial.com/adding-swap-to-any-ec2-instance/ http://www.the-tech-tutorial.com/adding-swap-to-any-ec2-instance/
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)