Google App Engine Cloud SQL 连接问题
Google App Engine Cloud SQL connection issue
尝试连接到 Google 云 SQL 时出现以下错误:
Connection error
Unable to find the socket transport "unix" - did you forget to enable it when you configured PHP?
我已经尝试解决这个问题好几个小时了,但仍然一无所获。
我的配置如下(ZF2配置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 添加到云 SQL 中的访问控制列表(授权的 App Engine 应用程序)。
当我尝试 运行 时:
$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 套接字错误。我缺少什么?
终于想通了。我是因为冒号。 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'
]
),
);
尝试连接到 Google 云 SQL 时出现以下错误:
Connection error
Unable to find the socket transport "unix" - did you forget to enable it when you configured PHP?
我已经尝试解决这个问题好几个小时了,但仍然一无所获。
我的配置如下(ZF2配置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 添加到云 SQL 中的访问控制列表(授权的 App Engine 应用程序)。
当我尝试 运行 时:
$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 套接字错误。我缺少什么?
终于想通了。我是因为冒号。 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'
]
),
);