【问题标题】:Error installing Laravel 5.1 on DigitalOcean Droplet在 DigitalOcean Droplet 上安装 Laravel 5.1 时出错
【发布时间】:2015-08-29 20:38:44
【问题描述】:

我有来自 DigitalOcean 的基本液滴。

首先我安装composer如下:

curl -sS https://getcomposer.org/installer | php

mv composer.phar /usr/local/bin/composer

然后我尝试按如下方式安装 Laravel:

composer create-project laravel/laravel --prefer-dist

然后我得到以下错误:

Installing laravel/laravel (v5.1.4)
  - Installing laravel/laravel (v5.1.4)
    Loading from cache

Created project in /var/www/html/laravel
> php -r "copy('.env.example', '.env');"
Loading composer repositories with package information
Installing dependencies (including require-dev)
  - Installing vlucas/phpdotenv (v1.1.1)
    Loading from cache
The following exception is caused by a lack of memory and not having swap configured
Check https://getcomposer.org/doc/articles/troubleshooting.md#proc-open-fork-failed-errors for details
PHP Fatal error:  Uncaught exception 'ErrorException' with message 'proc_open(): fork failed - Cannot allocate memory' in phar:///usr/local/bin/composer/vendor/symfony/console/Symfony/Component/Console/Application.php:974
Stack trace:
#0 [internal function]: Composer\Util\ErrorHandler::handle(2, 'proc_open(): fo...', 'phar:///usr/loc...', 974, Array)
#1 phar:///usr/local/bin/composer/vendor/symfony/console/Symfony/Component/Console/Application.php(974): proc_open('stty -a | grep ...', Array, NULL, NULL, NULL, Array)
#2 phar:///usr/local/bin/composer/vendor/symfony/console/Symfony/Component/Console/Application.php(784): Symfony\Component\Console\Application->getSttyColumns()
#3 phar:///usr/local/bin/composer/vendor/symfony/console/Symfony/Component/Console/Application.php(745): Symfony\Component\Console\Application->getTerminalDimensions()
#4 phar:///usr/local/bin/composer/vendor/symfony/console/Symfony/Component/Console/Application.php(675): Symfony\Component\Console\Application->getTerminalWidth()
#5 phar:///usr/local/bin/com in phar:///usr/local/bin/composer/vendor/symfony/console/Symfony/Component/Console/Application.php on line 974

Fatal error: Uncaught exception 'ErrorException' with message 'proc_open(): fork failed - Cannot allocate memory' in phar:///usr/local/bin/composer/vendor/symfony/console/Symfony/Component/Console/Application.php:974
Stack trace:
#0 [internal function]: Composer\Util\ErrorHandler::handle(2, 'proc_open(): fo...', 'phar:///usr/loc...', 974, Array)
#1 phar:///usr/local/bin/composer/vendor/symfony/console/Symfony/Component/Console/Application.php(974): proc_open('stty -a | grep ...', Array, NULL, NULL, NULL, Array)
#2 phar:///usr/local/bin/composer/vendor/symfony/console/Symfony/Component/Console/Application.php(784): Symfony\Component\Console\Application->getSttyColumns()
#3 phar:///usr/local/bin/composer/vendor/symfony/console/Symfony/Component/Console/Application.php(745): Symfony\Component\Console\Application->getTerminalDimensions()
#4 phar:///usr/local/bin/composer/vendor/symfony/console/Symfony/Component/Console/Application.php(675): Symfony\Component\Console\Application->getTerminalWidth()
#5 phar:///usr/local/bin/com in phar:///usr/local/bin/composer/vendor/symfony/console/Symfony/Component/Console/Application.php on line 974

我该如何解决这个问题?厌倦了在线搜索不同的解决方案并且没有任何工作。

【问题讨论】:

  • 512 MB RAM,1 TB 带宽,20 GB 磁盘
  • 看看@Dave Alvarez 的回答。是内存的问题。我正在使用 1 GB 的 Digital Ocean,它运行良好。

标签: digital-ocean laravel-5.1


【解决方案1】:

这是因为内存不足。您需要设置一个交换文件,以便作曲家可以做到这一点:

sudo dd if=/dev/zero of=/swapfile bs=1024 count=512k

mkswap /swapfile

swapon /swapfile

【讨论】:

  • 我收到了这个错误:dd: unrecognized operand ‘count’
  • 不知道为什么会出现这个错误,但你可以去这里查看创建交换文件的替代方法:digitalocean.com/community/tutorials/…
猜你喜欢
  • 2015-10-17
  • 2020-05-08
  • 2018-01-09
  • 1970-01-01
  • 2020-04-10
  • 2017-01-12
  • 2016-04-11
  • 2015-09-05
  • 2017-07-11
相关资源
最近更新 更多