通过Compute Engine上托管的PHP连接到Cloud SQL

时间:2018-08-09 11:21:44

标签: php mysql google-cloud-platform google-compute-engine google-cloud-sql

如何通过Compute Engine VM上托管的php文件连接到Cloud SQL实例?

•我在Cloud SQL中有一个MySQL(第1代)实例,名为bd-sales,还有一个名为sales的数据库

•我有一个在Compute Engine中内置的Linux(Debian)VM

不好。:我想使用PDO建立连接

我尝试了这个,但是没有用:

<?php
    function getConnection(){
        try {
          $connection = new PDO('mysql:host=999.999.999.99;dbname=sales', 'user', 'pass');
          $connection->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
          return $connection;
          } catch(PDOException $e) {
            echo 'ERROR: ' . $e->getMessage();
            return;
        }
    }

    header("Access-Control-Allow-Origin: *");
    header('Content-Type: application/json');
?>

1 个答案:

答案 0 :(得分:1)

我解决了问题,更改了连接字符串:

<?php
    function getConnection(){
        try {                                {GCSQL IPv4}                         {instance name}                 {Database name}
          $connection = new PDO('mysql:host=999.999.999.99;unix_socket=/cloudsql/instance:bd-instance;charset=utf8;dbname=vendas', 'user', 'pass');
          $connection->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
          return $connection;
          } catch(PDOException $e) {
            echo 'ERROR: ' . $e->getMessage();
            return;
        }
    }

header("Access-Control-Allow-Origin: *");
header('Content-Type: application/json');

?>