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

谷歌应用引擎云SQL连接问题

白翰海
2023-03-14

当尝试连接到谷歌云SQL我得到以下错误:

Connection error

Unable to find the socket transport "unix" - did you forget to enable it when you configured PHP?

我已经花了几个小时试图解决这个问题,但还是一无所获。

我的配置如下(在ZF2-config-local.php中):

return array(
    'db' => array(
        'driver' => 'Mysqli',
        'host' => '',
        'database' => 'ar_captab',
        'username' => 'root',
        'password' => '',
        'driver_options'  => [
            'unix_socket' => ':/cloudsql/some-app-v1-test:some-db'
        ]
    ),
);

我还将我的Google App Engine应用程序的应用程序ID添加到Cloud SQL中的访问控制列表(授权应用程序引擎应用程序)中。

当我尝试运行这个时:

$config = $this->getServiceLocator()->get('config');

$adapter = new \Zend\Db\Adapter\Adapter($config['db']);
$sql = new \Zend\Db\Sql\Sql($adapter);

$select = $sql->select();
$select->from('example');
$select->where('1');

$statement = $sql->prepareStatementForSqlObject($select);
$results = $statement->execute();

我得到了unix套接字错误。我错过了什么?

共有1个答案

阎阎宝
2023-03-14

终于想通了。我是因为冒号。Mysqli连接不需要它,只有PDO连接类型。

所以正确的配置是:

return array(
    'db' => array(
        'driver' => 'Mysqli',
        'host' => '',
        'database' => 'some-database',
        'username' => 'root',
        'password' => '',
        'driver_options'  => [
            'unix_socket' => '/cloudsql/some-app-v1-test:some-db'
        ]
    ),
);
 类似资料:
  • 我正在尝试使用云SQL代理将GCE实例连接到云SQL实例(第二代)。当我ssh到GCE实例时 我得到 我已阅读 上的文档https://cloud.google.com/sql/docs/compute-engine-access#gce-连接代理和 https://cloud.google.com/sql/docs/sql-proxy 两个实例都在同一个项目中,并且云SQL API在GCE实例(

  • 我们需要为一个高流量的网站使用WordPress。我们预计每月的初始浏览量为50万次,并将增加到每月约800万次。主要在工作时间使用,一个月大约20天,每天8小时。 我们正在考虑将Google App Engine与Google Cloud SQL一起使用。我们想知道它对这种负载的扩展程度如何。理论上说Google App Engine应该自动扩展,但不确定Google Cloud SQL在扩展时

  • 我想能够从谷歌云功能中调用谷歌应用程序引擎,有可能吗?找不到任何解决办法

  • 我正在看新的谷歌云数据存储,看起来很棒。但有件事我不明白。。。它应该替代谷歌应用引擎数据存储吗?我如何在GAE内部使用它?它们之间有什么区别? 我在Java有一个GAE应用程序,它使用3个实体,每个实体都有数千行,我需要经常做连接...

  • 我有一个应用引擎项目。 我也有谷歌云功能。 我想从App Engine项目中调用谷歌云功能。我就是没法让它发挥作用。 是的,如果我将函数完全公开(即将云函数设置为“允许所有流量”,并为“所有用户”创建一个允许调用函数的规则),它就可以工作。但是如果我限制这两个设置中的任何一个,它会立即停止工作,我得到403。 应用程序和函数在同一个项目中,所以我至少假设将函数设置为“仅允许内部流量”应该可以正常工