Google Cloud SQL:阅读问候数据包时出错

时间:2015-11-09 16:51:12

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

我是Google App Engine的新手。我目前正在关注Google App Engine教程:https://cloud.google.com/appengine/docs/php/cloud-sql/

我似乎无法让我的应用程序访问Google App Engine上的Cloud-SQL数据库。

我一直收到以下错误:

Warning: PDO::__construct(): MySQL server has gone away in /base/data/home/apps/p~iconic-indexer-112318/1.388447661471940227/guestbook.php on line 24 
Warning: PDO::__construct(): Error while reading greeting packet. PID=-1 in /base/data/home/apps/p~iconic-indexer-112318/1.388447661471940227/guestbook.php on line 24 {"outcome":false,"message":"Unable to connect."}

我看过其他指出语法错误的问题,但我不太确定我在这里看到一个。我相信我的应用程序可以访问Cloud-SQL数据库。因为我已经在我的应用程序内创建了数据库实例,并根据以下链接:https://cloud.google.com/appengine/docs/php/cloud-sql/#create

我的应用程序应该可以访问数据库。 除此之外,我没有其他授权的应用程序引擎应用程序,即使我确实尝试添加iconic-indexer-112318,它也不允许我通知我"无法完成操作"。我怀疑这是因为应用程序已经可以访问。

我加倍检查,应用程序和实例都在同一个区域:us-east1

项目编号:iconic-indexer-112318

实例ID:iconic-indexer-112318:hellodb

 // Connect from App Engine.
 try{
    $db = new pdo('mysql:unix_socket=/cloudsql/iconic-indexer-112318:iconic-indexer-112318:hellodb;dbname=guestbook', 'root', '');
 }catch(PDOException $ex){
     die(json_encode(
         array('outcome' => false, 'message' => 'Unable to connect.')
         )
     );
 }

我不确定是什么问题。谢谢你的帮助。

2 个答案:

答案 0 :(得分:1)

您是否检查过您的Cloud SQL实例是否分配了IPv4地址?

您可以在访问控制>下查看IP地址。有一个按钮"请求IPv4地址"这将启用它。

答案 1 :(得分:0)

可能与此错误有关,该错误似乎尚未解决:random "server has gone away" errors from GAE to cloud SQL