我在 Vapor 上部署的所有 Laravel 项目都不会连接到我的 Vapor 数据库。我每次都收到 SQLSTATE[HY000] [2002] 错误。为了弄清楚这一点,我在与我的数据库相同的 AWS 区域创建了一个新的测试项目(以防出现问题)。我在默认的 Laravel 应用程序中没有进行任何更改,除了:
- 我通过 Composer 安装了 Vapor CLI 和 Core
- 我将数据库添加到 vapor.yml 文件
- 我添加了一条查询数据库的测试路线
- 在 Vapor 仪表板上,我更改了 APP_DEBUG=true 以查看我的虚 URL 中的错误
Vapor 仪表板显示该项目已连接到我的数据库 (vapor-db)。但是我仍然遇到连接错误。我尝试删除 .env 文件中的默认数据库条目。还是连接不上。Vapor 文档表明以上是我需要做的所有事情才能让它无缝工作,但我已经为此苦苦挣扎了将近一个星期。帮助!!
蒸气.yml:
id: 17458
name: laravel82
environments:
production:
database: vapor-db
memory: 1024
cli-memory: 512
runtime: php-7.4
build:
- 'COMPOSER_MIRROR_PATH_REPOS=1 composer install --no-dev'
- 'php artisan event:cache'
- 'npm ci && npm run prod && rm -rf node_modules'
staging:
database: vapor-db
memory: 1024
cli-memory: 512
runtime: php-7.4
build:
- 'COMPOSER_MIRROR_PATH_REPOS=1 composer install'
- 'php artisan event:cache'
- 'npm ci && npm run dev && rm -rf node_modules'
路线/web.php:
Route::get('/', function () {
return view('welcome');
});
Route::get('dbtest', function () {
return \DB::table('images')->first();
});
结果(分期): https ://moonlit-moscow-xdmsycwlxrhx.vapor-farm-b1.com/dbtest
Illuminate\Database\QueryException SQLSTATE[HY000] [2002] (SQL: select
* from `images` limit 1)