当前位置: 首页 > 知识库问答 >
问题:

无法连接Google App Engine和Google CloudSQL

松智勇
2023-03-14

我一直试图连接到运行在Google App Engine中的示例PHP Hello world应用程序到Google CloudSQL。

我正在测试一个示例数据库连接。使用像Navicat这样的外部客户端,我可以获得访问权限,但是,将应用程序直接连接到云sql不起作用。

我回顾了无数类似的stackoverflow问题,并彻底研究了google提供的例子,但没有成功。

在这里,您可以看到Hello world文件,其中输出了三个不同的连接到sql db的尝试,我也在呼应每个对象的json......

我不知道在这里还能做什么

我现在的用户sql user是root,密码为空,但我也尝试了一个定义了密码的用户,但仍然没有成功。

     <?php

     ini_set('display_errors',1);
     ini_set('display_startup_errors',1);
     error_reporting(-1);

       echo 'Hello, world!';

     //Copied and Pasted straight from the provided connection strings in Cloud SQL
     // Using PDO_MySQL (connecting from App Engine)
     $db = new pdo('mysql:unix_socket=/cloudsql/beaming-glyph-107521:testdb',
         'root',  // username
         ''       // password
     );

     // Using mysqli (connecting from App Engine)
     $sql = new mysqli(
         null, // host
         'root', // username
         '',     // password
         '', // database name
         null,
         '/cloudsql/beaming-glyph-107521:testdb'
     );

     // Using MySQL API (connecting from App Engine)
     $conn = mysql_connect(':/cloudsql/beaming-glyph-107521:testdb',
         'root', // username
         ''      // password
     );

     echo "<br><br/>pdo connection: ".json_encode($db);
     echo'<br><br/> msqli connection: '.json_encode($sql);
     echo '<br><br/> mysql conn: '.json_encode($conn);

共有1个答案

魏岳
2023-03-14

问题在于使用jsonencode()来显示db对象。不管出于什么原因,它显示为空白,而事实上它确实存在。经过几个小时的调查,我能够在db对象创建后立即运行查询并显示结果。

总之,看起来我一直在联系。如果试图调试db连接,请尝试在创建db对象以测试连接后立即运行测试查询并显示结果。

    $db = new pdo('mysql:unix_socket=/cloudsql/table-1075:testdb;dbname=sampledb',
'root',  // username
''       // password
  );

 var_dump($db);
 $sql='SELECT * FROM table';
 foreach ($db->query($sql) as $row) {
 print $row['Index'] . "\t";

 }
 类似资料:
  • 问题内容: 我已经将Docker配置为使用docker-compose.yml运行Postgres和Django,并且工作正常。 我遇到的麻烦是Selenium无法连接到Django liveserver。 现在(至少对我而言),django必须访问selenium才能控制浏览器,而selenium必须访问django才能访问服务器。 我已经尝试从此处使用docker- compose.yml的以

  • 我已经将Docker配置为使用docker-compose.yml运行Postgres和Django,它运行良好。 我遇到的问题是硒无法连接到Django直播服务器。 现在(至少对我来说)django必须访问selenium才能控制浏览器,而selenium必须访问django才能访问服务器。 我尝试使用docker大使模式,使用以下配置从这里docker-compose.yml:https://

  • 我在windows8上运行MongoDB。1并为管理数据库创建了用户。为了方便起见,我使用mongoVUE检查数据。但是在打开“auth”功能之后。我无法登录。 实际上,我可以使用用户名和密码向mongo shell进行身份验证。此外,我还可以使用它们通过python代码进行身份验证。只有当我使用mongoVUE或Robomongo时,它们才起作用。 当我在mongoVUE上单击“test”按钮时

  • 警告会话0x0,因为服务器空、意外错误、关闭套接字连接并试图重新连接(org.apache.zookeeper.clientcnxn)java.net.ConnectException:连接被拒绝 zookeeper首先开始,它在2181上,当开始Kafka时,它看着2181“zookeeper”然后在我身上爆炸。忠告?

  • 连接到hadoop时,出现以下错误 线程“main”java.lang.AbstractMethodError中出现异常:org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider。getProxy()Lorg/apache/hadoop/io/retry/failoverproxy提供程序$ProxyInfo

  • 我正在尝试将一个基于PHP的API从共享主机移植到Google应用程序引擎。我下载了PHPSDK,在启动器中创建了一个新的应用程序,在PHP中启用了cURL。ini(使用),现在我得到这个错误: 如果我向curl_init()添加反斜杠(告诉它不要使用MyNamespace),我会得到这个: 除了启用cURL_lite()(稍后我可能会解决这个问题,因为它不支持我需要的cURL选项),我如何解决这

  • 我尝试了kafka-console-consumer.sh和kafka-console-producer.sh,它工作得很好。我能够看到生产者在消费者中发送的消息 1)我已经下载了s3连接器(https://docs.confluent.io/current/connect/kafka-connect-S3/index.html) 2)将文件解压缩到/home/ec2-user/plugins/

  • 问题内容: 我有这个将字符串添加到整数的python程序: 我收到此错误: 如何将字符串添加到整数? 问题答案: 有两种方法可以解决由最后一条print语句引起的问题。 你可以将调用的结果分配给正确显示的结果,然后连接所有字符串,或者可以使用以下内容替换最后一个字符串print: 在这种情况下 不必要,可以删除。 样品运行的输出: 与: