【发布时间】:2023-03-28 03:03:01
【问题描述】:
对于概念验证项目,我正在尝试将运行在完全托管的 Cloud Run 上的 Laravel 项目与作为存储层的 Cloud SQL 连接起来。
我已经设法通过 Google App Engine 使用 gcloud app engine 命令获得了一个正常运行的服务(该服务可以连接到存储层)。我还通过cloud_sql_proxy 和我的服务的本地 docker 容器成功连接了存储层。但我无法通过 Cloud Run 远程设置设置。
我正在按如下方式部署 docker 映像:
gcloud run deploy --image eu.gcr.io/demo/customerservice --add-cloudsql-instances demo:europe-west1:dps-demo --update-env-vars INSTANCE_CONNECTION_NAME="demo:europe-west1:dps-demo
我的服务针对请求返回的错误是:
could not find driver (SQL: select * from `cache` where `key` = laravel_cachefa9d927c88ff8ebffd06913d97f9d59e limit 1)
(任何类型的数据库查询都会发生此错误,如果我使用本地缓存,则类似)
这是我的.env 文件(我删除了一些与问题无关的杂物):
APP_NAME=Laravel
APP_ENV=local
APP_KEY=***
APP_DEBUG=true
APP_URL=http://CustomerService.test
APP_STORAGE=/tmp
LOG_CHANNEL=stack
LOG_LEVEL=debug
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=***
DB_SOCKET=/cloudsql/demo:europe-west1:dps-demo
BROADCAST_DRIVER=log
CACHE_DRIVER=database
QUEUE_CONNECTION=sync
SESSION_DRIVER=database
SESSION_LIFETIME=120
VIEW_COMPILED_PATH=/tmp
【问题讨论】:
-
执行程序运行失败 [/bin/sh -c docker-php-ext-install pdo pdo_mysql mbstring]:退出代码:1
标签: laravel google-cloud-sql google-cloud-run