PDO на GAE SQLSTATE [HY000] [2002] - PullRequest
0 голосов
/ 10 мая 2018

У меня есть приложение GAE PHP, которое использует PDO для подключения экземпляра MySQL.Экземпляр MySQL размещен в другом проекте GCP.У меня есть эта ошибка:

SQLSTATE[HY000] [2002] Unable to find the socket transport \"unix\" - 
did you forget to enable it when you configured PHP?

это код PDO:

# GAE
$this->database = new PDO('mysql:unix_socket=<SQL_INSTANCE_NAME>;dbname=<DB_NAME>', <USER>, <PASSWORD>);
$this->database->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$this->database->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);

Возможно ли подключить приложение GAE PHP к экземпляру MySQL другого проекта?

1 Ответ

0 голосов
/ 10 мая 2018

Исправлена ​​ошибка !!! У меня был этот код

$this->database = new PDO('mysql:unix_socket=<SQL_INSTANCE_NAME>;dbname=<DB_NAME>', <USER>, <PASSWORD>);

и было: :/cloudsql/<PROJECT>:<REGION>:<DB_NAME>

решение удалить двоеточие !!!

Так что это правильный DSN:

$this->database = new PDO('mysql:unix_socket=/cloudsql/<PROJECT>:<REGION>:<DB_NAME>;dbname=<DB_NAME>', <USER>, <PASSWORD>);
...