gpt4 book ai didi

Laravel 7- AWS - Elastic Beanstalk + RDS 运行时出错 "php artisan migrate"

转载 作者:行者123 更新时间:2023-12-05 03:53:23 25 4
gpt4 key购买 nike


我正在尝试在 AWS 上的 Elastic Beanstalk 中运行 Laravel 应用程序。
我在 AWS Elastic Beanstalk 上使用 Laravel 版本 7 和 PHP 7.4。
每次当我尝试运行 "php artisan migrate" 时,我都会收到此错误:
我的数据库 RDS 凭据都是正确的。

Illuminate\Database\QueryException

SQLSTATE[HY000] [2002] Connection refused (SQL: select * from information_sche ma.tables where table_schema = forge and table_name = migrations and table_type
= 'BASE TABLE')

at vendor/laravel/framework/src/Illuminate/Database/Connection.php:671 667| // If an exception occurs when attempting to run a query, we'll format the error 668| // message to include the bindings with SQL, which will make th is exception a 669| // lot more helpful to the developer instead of just the databa se's errors. 670| catch (Exception $e) { 671| throw new QueryException( 672| $query, $this->prepareBindings($bindings), $e 673| ); 674| } 675|

最佳答案

我解决了我自己的问题。

我通过SSH在/var/www/html目录下运行

php artisan migrate -vv

获取调试日志和迁移过程的堆栈跟踪。
我注意到 Laravel 在运行迁移命令时没有使用环境变量(DB_HOST 等)。
所以我添加了 .ebextensions 目录并创建了一个新文件:
迁移配置

container_commands:
01migrations:
command: "php artisan migrate"

现在迁移工作开始了,因为 Laravel 获得了对环境变量的访问权限。因此,即使是最新版本的 Laravel 7、MYSQL 8.0.17 和 PHP 7.4 也可以在 Elastic Beanstalk RDS 上运行。

编辑:
如果您在 AWS 中指定为环境变量:

APP_ENV = "production"

使用 php artisan migrate --force 而不是 php artisan migrate

问候南科尔

关于Laravel 7- AWS - Elastic Beanstalk + RDS 运行时出错 "php artisan migrate",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61689385/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com