假设may应用程序具有:
GAE应用程序id:foo123
GAE应用程序名称:foo
GAE云SQL实例id:foo123:myInstance
我已经在Cloud SQL实例的访问控制中将根密码设置为"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实例的位置是美国,而我的位置是欧洲。
我怎么能看出是什么原因造成的?
谢谢。我也尝试过root@",但没有成功。
我和这里的医生完全一样:https://developers.google.com/appengine/docs/php/cloud-sql/
如果从本地计算机进行连接,则应使用实例IP地址进行连接。请查看Cloud SQL文档的"配置IP连接的访问权限"部分。您还应该为root
用户分配一个密码(在同一页中也有说明)。
我不熟悉pdo
,但快速的谷歌搜索表明,你可以做这样的事情:
new PDO('mysql:host=<cloudsql-instance-ip>', 'root', '<your root password>');