У меня есть приложение 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 другого проекта?






Фиксированный!!! У меня был этот код
$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>);