![使用 PHP 的 Google 应用引擎进行 Google Cloud SQL](https://linux22.com/image/697593/%E4%BD%BF%E7%94%A8%20PHP%20%E7%9A%84%20Google%20%E5%BA%94%E7%94%A8%E5%BC%95%E6%93%8E%E8%BF%9B%E8%A1%8C%20Google%20Cloud%20SQL.png)
在 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 控制台中,因为它不是完全访问权限或其他内容。