【问题标题】:Not able to connect to Google Cloud SQL with Slim framework on Google App Engine无法使用 Google App Engine 上的 Slim 框架连接到 Google Cloud SQL
【发布时间】:2016-03-08 08:17:29
【问题描述】:

我正在使用 Slim 框架为我的应用程序构建 api。我无法连接到 Google Cloud SQL。

我在下面提供了错误消息。

我一直在 codeigniter 中使用它,没有任何问题。有人可以帮助我了解如何解决此问题。

数据库代码:

function getDB() {

$dbhost=":/cloudsql/projid:instancename";
$dbuser="root";
$dbpass="";
$dbname="dbname";

$dbConnection = new PDO("mysql:host=$dbhost;dbname=$dbname", $dbuser, $dbpass); 
$dbConnection->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
return $dbConnection;
}

错误信息

{"error":{"text":SQLSTATE[HY000] [2002] php_network_getaddresses: gethostbyname failed. errno=0}}

附:我在本地主机上没有遇到这个问题。

【问题讨论】:

    标签: mysql google-app-engine slim


    【解决方案1】:

    您的PDO 连接字符串应该使用mysql:unix_socket 而不是mysql:host

    https://cloud.google.com/appengine/docs/php/cloud-sql/

    PDO_MySQL

    $db = new pdo('mysql:unix_socket=/cloudsql/<your-project-id>:<your-instance-name>;dbname=<database-name>',
      'root',  // username
      ''       // password
      );
    

    【讨论】:

      【解决方案2】:

      这就是我更改代码的方式

      来自

      function getDB() {
      
      $dbhost=":/cloudsql/projid:instancename";
      $dbuser="root"; 
      $dbpass="";
      $dbname="dbname";
      
      $dbConnection = new PDO("mysql:host=$dbhost;dbname=$dbname", $dbuser, $dbpass); 
      $dbConnection->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
      return $dbConnection;
      }
      

      function getDB() {
      
          $dbConnection = new pdo('mysql:unix_socket=/cloudsql/<your-project-id>:<your-instance-name>;dbname=<database-name>',
        'root',  // username
        ''       // password
        );
          $dbConnection->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
          return $dbConnection;
          }
      

      【讨论】:

      • 很高兴看到你把它整理好了!
      猜你喜欢
      • 2015-12-18
      • 1970-01-01
      • 1970-01-01
      • 2019-11-27
      • 2019-02-25
      • 2017-08-28
      • 2016-09-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多