在 Google Cloud 上连接 Laravel 5.2 时遇到问题。我创建了一个新的 MySQL 5.6 第二代实例,并在 conf/database 中添加了实例外部 ip 的连接参数,本地 laravel 服务器运行正常。
但是,当我在谷歌云上部署代码时,它会给我有关 unix 套接字的错误。
我的问题是,在云引擎应用程序内使用数据库实例的正确连接参数是什么?
那么,我应该只将数据库名称和 db_host 设置为:服务器上的 localhost,还是留空,或者是 mysql 实例的外部 ip 地址?
我认为我需要使用 unix 套接字,但是,我没有使用 Google 云控制台找到任何活动的 unix 套接字文件。
答案1
事实证明我应该使用这种语法:
DB_SOCKET=/cloudsql/myappengineapp:europe-west1:mysqlinstance1
在我的.env 文件中。
语法是:unix套接字名称:
/cloudsql/
内容:
gcloud sql instances describe
连接名称
财产
至于未找到 unix 套接字,它仅存在于 Google SQL 控制台中,因为它不是完全访问权限或其他内容。