【问题标题】:Connecting to 2nd gen Cloud SQL on App Engine flexible PHP 7.0 - missing socket在 App Engine 灵活的 PHP 7.0 上连接到第二代 Cloud SQL - 缺少套接字
【发布时间】:2017-03-14 11:30:22
【问题描述】:

我决定在 App Engine 上试用 PHP 7,并按照说明 here 连接到第二代 Cloud SQL,但我无法让它工作。

作为测试脚本,我决定上传 PhpMyAdmin,但在尝试登录时出现以下错误:

然后我决定进入调试模式,看看发生了什么。原来代理容器正在运行,/cloudsql/ 文件夹已创建但那里没有套接字:

这是我的app.yaml

runtime: php
env: flex

manual_scaling:
    instances: 1

env_variables:
    CLOUDSQL_UNIX_SOCKET: /cloudsql/project-161108:us-east1:clod-sql-test

beta_settings:
    cloud_sql_instances: "project-161108:us-east1:clod-sql-test"

这里是 Cloud SQL 实例信息(是的,我在创建它时拼错了 cloud):

我的问题是:我怎样才能让套接字出现在它应该在的位置?我花了 2 天时间试图解决这个问题,任何建议将不胜感激....

【问题讨论】:

    标签: php google-app-engine php-7 app-engine-flexible


    【解决方案1】:

    我的假设是 Google Cloud SQL API 未启用。

    转到以下链接,看看它是否已启用。如果没有,请启用它。

    https://console.cloud.google.com/apis/api/sqladmin.googleapis.com/overview?project=_

    然后尝试重新部署应用程序(不幸的是,您需要再次部署它)。

    【讨论】:

    • 它实际上被禁用了 -.- 我希望它被启用(类似于你去计算引擎时它首先启用 api 的方式)。目前正在再次部署(大约第 30 次:D)
    • 该指南具有启用该 API 的按钮,因此如果您完全按照指南操作,它应该可以工作,但很容易错过,因为每个过去的指南都有类似的按钮。我也会想念的。
    • 嗯,现在套接字文件在那里,但我从 PMA 得到完全相同的错误....我现在将尝试重新部署
    • socket文件在那里,所以这是一个进步:)
    • 原来错误出在 PhpMyAdmin 上,手动使用 PDO 或 mySQLi 效果很好。我会看看我是否能弄清楚为什么 PMA 找不到套接字...感谢您的帮助!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-07
    • 2018-07-11
    • 2017-04-18
    • 1970-01-01
    • 2014-01-20
    • 2021-08-04
    相关资源
    最近更新 更多