【问题标题】:How to install Laravel on AWS free tier? [duplicate]如何在 AWS 免费套餐上安装 Laravel? [复制]
【发布时间】:2020-09-14 11:47:09
【问题描述】:

我正在努力在 AWS 免费层 Ubuntu 实例上安装 Laravel。由于内存限制,它卡在 Composer 安装上。

我最初运行了以下命令:

sudo apt update && sudo apt upgrade

sudo apt install php7.2-common php7.2-cli php7.2-gd php7.2-mysql php7.2-curl php7.2-intl php7.2-mbstring php7.2-bcmath php7.2-imap php7.2-xml php7.2-zip

curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer

composer --version

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

我在实例中将存储限制设置为 30gb。我试图找到一个解决方案,每个人都建议将 Composer 限制设置为=-1。它仍然没有解决我的问题。

使用 Composer 安装软件包时出现此错误:

composer updating dependencies (including require-dev) killed

我试图找到这样的内存限制:

 php -r "echo ini_get('memory_limit').PHP_EOL;"  

它显示-1。

我也得到了这个内存信息:

它显示内存限制为 128M。我的问题是因为这个吗?如果是,那我该如何增加内存呢?

我只是想知道我们可以在免费层上安装 Laravel 和 Composer。我没有清楚地了解这件事的所有内容,还是有任何其他配置问题?

【问题讨论】:

  • 您遇到什么错误?安装作曲家时的内存使用情况是多少? (检查 top/htop)尝试在 composer 安装期间停止 mysql 和任何其他服务。尝试在本地机器上安装 composer 并将整个项目(包括供应商)复制到您的服务器。 512mb 的内存足以让少数用户运行 laravel 和 mysql,但安装时可能会遇到此类问题
  • 我得到错误作曲家更新依赖项(包括require-dev)被杀死.. cpl of times。我使用 php -r "echo ini_get('memory_limit').PHP_EOL;"检查内存限制。它显示 -1
  • 你运行什么命令? composer updating dependencies 看起来不太好,当您将某些东西部署到服务器时不应该发生这种情况
  • 我更新了解释中使用的命令。请建议
  • @NeerajVerma 请在解决方案中添加您自己的答案,而不是在问题中添加答案。这将有助于未来的读者了解情况和解决方案。谢谢!

标签: laravel amazon-web-services composer-php


【解决方案1】:

是的,我们可以。

我在 AWS 上使用 30GB 的 t2.micro Ubuntu 18.04 验证了这一点(不需要 30GB,但我使用了你所拥有的)。

对于laravel 安装,使用了以下命令:

composer global require laravel/installer

还有内存错误

The following exception is caused by a lack of memory or swap, or not having swap configured
Check https://getcomposer.org/doc/articles/troubleshooting.md#proc-open-fork-failed-errors for details

In Process.php line 344:

  proc_open(): fork failed - Cannot allocate memory  

根据消息,我按照these 的步骤添加了 1GB 的交换空间

交换设置完成后,我再次执行laravel 安装命令,这次成功了。

我通过生成标准blog 项目来测试新安装的laravel

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

命令有效:

Installing laravel/laravel (v7.12.0)
  - Installing laravel/laravel (v7.12.0): Loading from cache
Created project in blog
> @php -r "file_exists('.env') || copy('.env.example', '.env');"
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 92 installs, 0 updates, 0 removals
#
# not shown
#
Package manifest generated successfully.
> @php artisan key:generate --ansi
Application key set successfully.

希望这会有所帮助。

附言 还需要安装php 和各种php 扩展。

【讨论】:

  • 全面而出色的答案。
  • @Ersoy 谢谢。你成功安装laravel了吗?
  • 我不是提出问题的人,但看到了答案。
  • @Ersoy 我明白了。我的错。抱歉,再次感谢。
【解决方案2】:

Rob suggested这个以前的:

从您的 git 项目中下载现有的 composer.lock 文件。然后在同一位置安装 Composer。如果您的 git 存储库中没有 composer.lock 文件,请先将其从开发环境推送到 git。谢谢罗伯。

【讨论】:

  • 另外,你可以补充一点,如果你没有 composer.lock 在存储库中,composer install 可以在具有足够内存量的类似开发机器上运行(并将其提交到存储库,当然)。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-11-20
  • 1970-01-01
  • 2020-10-02
  • 2022-11-10
  • 1970-01-01
  • 1970-01-01
  • 2020-06-28
相关资源
最近更新 更多