让我们说app可能有:
GAE app id:foo123
GAE应用名称:foo
GAE云SQL实例ID:foo123:myInstance
我已在Cloud SQL实例的访问控制中将root密码设置为“foobar”。
try{
$pdo = new pdo("mysql:unix_socket=/cloudsql/foo:foo123:myInstance;charset=utf8", "root", "");
}catch(PDOException $ex){
die(json_encode(
array('outcome' => false, 'message' => 'Unable to connect')
)
);
}
但它无法连接。我正在测试localhost:8080。 Cloud SQL实例位置是USA,我的位置是Europe。
我怎样才能看到导致这种情况的原因?
感谢。 我也试过root @“”没有成功。
我正在完成此处的文档:https://developers.google.com/appengine/docs/php/cloud-sql/
答案 0 :(得分:0)
如果从本地计算机进行连接,则应使用实例IP地址进行连接。查看Cloud SQL文档的Configuring Access for IP Connections部分。您还应该为root
用户分配密码(在同一页面上也有解释)。
我对pdo
不熟悉,但快速Google搜索显示您可以执行以下操作:
new PDO('mysql:host=<cloudsql-instance-ip>', 'root', '<your root password>');