laravel - 为什么 ebextensions 被忽略
问题描述
我遇到了 laravel 和 Elastic Beanstalk 的问题。我想将一个 laravel 项目部署到 aws eb 并设置一些 vpc 和其他东西。
所以在我laravel-app
的文件夹中,我创建了一个文件夹和.ebextensions
两个配置文件01setup.config
03deploy.config
我的setup.config
样子是这样的:
option_settings:
aws:elasticbeanstalk:container:php:phpini:
document_root: /public
composer_options: --no-dev --no-interaction --prefer-dist --optimize-autoloader
aws:elasticbeanstalk:application:environment:
APP_ENV: production
APP_KEY: CATZ
DB_HOST: CATZ
DB_DATABASE: CATZ
DB_USERNAME: CATZ
这里没有什么太花哨的,只设置文档根和作曲家选项。因为部署总是因为 laravel 黄昏而失败。(它抛出了一个期望,它不会保存在生产中使用它)
然后我跑一次
eb init
进而
eb create --vpc.id CATS--vpc.elbpublic --vpc.elbsubnets CATS --vpc.ec2subnets CATZ --vpc.securitygroups CATZ
为 ec 和 elb 实例创建 eb 并设置 vpc。
然而,由于 laravel 黄昏包,部署失败。挖掘日志,显示不知何故eb
没有占用options_settings
并且composer_options
是空的。
我检查了控制台仪表板,Configuration - Software - Modify
并设置了文档根目录和环境变量。
所以不知何故,.ebextensions
文件夹和配置文件似乎被忽略了。
我也终止并重新创建了堆栈,但结果相同。
解决方案
如果您的目录是受版本控制的,eb create
/eb deploy
将用于HEAD
从中创建一个 zip 文件。是.ebextensions/
在VC吗?如果没有,您需要提交它。
或者,您也可以git add
通过执行eb create/deploy --staged
.
推荐阅读
- python - 如何更改机器人日志/报告文件的名称和文件夹?
- react-native - webview成功加载vue native中的url后调用方法
- php - 在 PHP 5.3 中使用 opendir() 打开目录失败,具有 777 文件夹权限
- dart - 关于使用 Dart 编码
- rust - 我对静态特征界限的理解是否正确?
- php - 当我的用户代理不包含类似的东西时,如何使用 php 检测用户使用 ipad
- c# - .NET Core 依赖注入解决问题
- sql - with (nolock) in hive 等价于 sql (nolock)
- pyqt5 - 单击 QLabel 后,将 QStyledItemDelegate 中的 QLabel 更改为 QCombobox
- google-cloud-platform - 如何计算 GCP 资源使用的堆栈驱动程序指标的数量