err从PHP App Engine标准连接到Google PostgreSQL

时间:2018-10-09 05:28:16

标签: google-app-engine

我的本​​地代理能够连接到Google的PostgreSQL,但是一旦部署到应用引擎上,我就会获得

  

找不到驱动程序

我遵循了on Google's how to's中关于LOCAL代理的说明,我再次可以连接。对于dsn配置,我试图模仿他们的getting-started-PHP中使用的方法,其中他们使用“ getPostgresDsn”函数。您可以通过上面的链接阅读它。

我用来建立连接的脚本是:

<?php

//I've tried the commented section and it also doesn't work when deployed
//$dsn = "pgsql:host=127.0.0.1;port=5432;dbname=postgres";
$dsn = "pgsql:host=/cloudsql/portal-212515:us-central1:myinstance;port=5432;dbname=postgres";

$username = "postgres";
$password = "mypassword";

try {
    $conn = new PDO($dsn, $username, $password);
    // set the PDO error mode to exception
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    echo "Connected successfully"; 
    }
catch(PDOException $e)
    {
    echo "Connection failed: " . $e->getMessage();
    }
?>

我确定

  • “ Cloud SQL” API已启用
  • 应用引擎和PostgreSQL都在同一个项目下
  • 服务帐户已添加为项目的所有者

阅读API documentation时说

  

您只能使用下面链接的说明进行连接

由于PHP不在“ App Engine标准环境到PostgreSQL”下,这是否意味着无法从该环境进行连接?

我真的很难过这个,如果有人可以告诉我我做错了什么,我会喜欢的。请,谢谢。

0 个答案:

没有答案