安装 guzzlehttp/guzzle 时出现内存不足和未配置交换的问题

Posted

技术标签:

【中文标题】安装 guzzlehttp/guzzle 时出现内存不足和未配置交换的问题【英文标题】:Getting issue of lack of memory and not having swap configured when installing guzzlehttp/guzzle 【发布时间】:2020-01-14 00:30:54 【问题描述】:

当我在laravel 5.8 应用程序中的amazon ec2 上安装guzzlehttp/guzzle 时。

我遇到了以下问题:

"以下异常是由于内存不足而没有 交换配置”

这是错误:

php Fatal error:  Uncaught ErrorException: proc_open(): fork failed - Cannot allocate memory in /usr/share/php/Symfony/Component/Console/Application.php:943
Stack trace:
#0 [internal function]: Composer\Util\ErrorHandler::handle(2, 'proc_open(): fo...', '/usr/share/php/...', 943, Array)
#1 /usr/share/php/Symfony/Component/Console/Application.php(943): proc_open('stty -a | grep ...', Array, NULL, NULL, NULL, Array)
#2 /usr/share/php/Symfony/Component/Console/Application.php(751): Symfony\Component\Console\Application->getSttyColumns()
#3 /usr/share/php/Symfony/Component/Console/Application.php(712): Symfony\Component\Console\Application->getTerminalDimensions()
#4 /usr/share/php/Symfony/Component/Console/Application.php(645): Symfony\Component\Console\Application->getTerminalWidth()
#5 /usr/share/php/Symfony/Component/Console/Application.php(127): Symfony\Component\Console\Application->renderException(Object(ErrorException), Object(Symfony\Component\Console\Output\StreamOutput))
#6 /usr/share/php/Composer/Console/Application.ph in /usr/share/php/Symfony/Component/Console/Application.php on line 943

当我运行“free -m”时,我得到了以下结果

【问题讨论】:

您运行它的机器的规格是什么?执行时实际上有多少 ram 空闲? PHP Composer update "cannot allocate memory" error (using Laravel 4)的可能重复 @JesseSchokker 我尝试了相同的解决方案但没有奏效,当我运行“/sbin/swapon /var/swap.1”时,它要求许可 644 到 600,我试图给予许可但仍然现在工作。 【参考方案1】:

我也有同样的问题,下面是对我有用的方法。

"guzzlehttp/guzzle": "^6.3" 放入composer.json 然后

rm -rf vendor/

rm -rf composer.lock

composer install

之后,一切都很好

注意:不要在您的产品网站中这样做

【讨论】:

【参考方案2】:

要增加 PHP 内存限制和上传限制,请在 PHP.ini 中更改这些行

memory_limit = 256M
upload_max_filesize = 12M
post_max_size = 13M

【讨论】:

以上是关于安装 guzzlehttp/guzzle 时出现内存不足和未配置交换的问题的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Guzzlehttp/guzzle 6 发送 Cookie?

将 Postman 请求转换为 guzzle 或其他 PHP HTTP 客户端

composer

使用 composer 安装 Laravel 包的问题

Symfony 3.4 安装期间的错误 php json

Laravel Google api 客户端获取刷新令牌并上传文件