【发布时间】:2021-08-14 02:40:42
【问题描述】:
- 我在 AWS Elastic Beanstalk 上安装了一个 Laravel 项目
- 我在服务器上创建了一个环境
- 我运行
php artisan key:generate命令并填充了我所有的环境变量
这工作正常,我的应用程序启动。但是后来我通过 CI 管道在我的服务器上推送了一些其他工作,但它会自动删除 env 文件。
另外请注意,我已经在 .gitignore 中添加了我的环境,所以它不会推送我的环境。
我认为这是因为 Elastic Beanstalk 会在发布新版本时自动删除旧文件并创建新文件。
以下是我的 composer.json 脚本部分:
"autoload": {
"psr-4": {
"App\\": "app/",
"Database\\Factories\\": "database/factories/",
"Database\\Seeders\\": "database/seeders/"
}
},
"autoload-dev": {
"psr-4": {
"Tests\\": "tests/"
}
},
"minimum-stability": "dev",
"prefer-stable": true,
"scripts": {
"post-autoload-dump": [
"Illuminate\\Foundation\\ComposerScripts::postAutoloadDump",
"@php artisan package:discover --ansi"
],
"post-root-package-install": [
"@php -r \"file_exists('.env') || copy('.env.example', '.env');\""
],
"post-create-project-cmd": [
"@php artisan key:generate --ansi"
]
}
}
【问题讨论】:
-
你在使用 Laravel 和
composer吗?您是否收到以下错误:RuntimeException No application encryption key has been specified.?如果您正在使用 composer 密钥生成可能会通过post-create-project-cmd或类似方式自动为您处理。 See here for more details -
是的,此错误已显示,但由于 env 被删除,所以应用程序密钥自然也被删除。你能告诉我如何阻止 env 被删除吗?
-
你在使用
composer吗?如果是这样,您能否更新您的问题以包含您的composer.json文件的scripts部分的示例?它应该包括一个类似于此的条目:"post-create-project-cmd": ["php artisan key:generate"]。 You can learn more about composer scripts here -
是的,我在我的问题@dusthaines 中包含了我的作曲家文件脚本部分
标签: amazon-web-services amazon-elastic-beanstalk aws-codepipeline