【问题标题】:GAE PHP won't connect to Cloud SQLGAE PHP 无法连接到 Cloud SQL
【发布时间】:2014-02-20 23:18:46
【问题描述】:

似乎无法让 GAE PHP 连接到 Cloud SQL,使用 mysqli 说:无法找到套接字传输“unix” - 您在配置 PHP 时是否忘记启用它?

我已授权该应用并确保它们位于同一地区,即美国

任何想法都会很棒,谢谢

$mysqli = new mysqli(null, "USERNAME", "PASSWORD", "DATABASE", null,
"/cloudsql/PROJECT_NAME:db2");

当我使用 :/cloudsql/PROJECT_NAME:db2 时,它说“sock”有错误

当我使用 /cloudsql/PROJECT_NAME:db2 without : 时,表示无法连接到 user@localhost

【问题讨论】:

  • 一个代码示例会有所帮助
  • $mysqli = new mysqli(null, "USERNAME", "PASSWORD", "DATABASE", null, "/cloudsql/PROJECT_NAME:db2");

标签: php google-app-engine google-cloud-sql


【解决方案1】:

如果您使用默认身份验证,请尝试使用“root”作为用户名,null 作为密码,以及 Cloud SQL 面板中列出的实例 ID,如下所示。示例:

$conn = new mysqli(null, "root", null, "<databasename>", null, "/cloudsql/<instance id>”);

【讨论】:

    【解决方案2】:

    如果有人查看这篇文章并得到“无法找到套接字传输“unix”'(那是我)并且使用 PDO 而不是 sqli,这里是正确的代码。

    $db = new pdo("mysql:unix_socket=/cloudsql/$GAE_ProjectName:$location:$dbInstance;dbname=$dbName",$username,$password)
    

    这些 /cloudsql/$GAE_ProjectName:$location:$dbInstance 可以一起找到,并从 SQL 实例仪表板的“连接到此实例”和“实例连接名称”下复制粘贴。

    剩下的只是定义这些变量并确保密码正确!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-05-25
      • 2022-01-24
      • 1970-01-01
      • 2021-02-12
      • 1970-01-01
      • 2020-11-12
      • 2017-04-11
      相关资源
      最近更新 更多