gpt4 book ai didi

php - GAE SQLSTATE [HY000] [2002] 上的 PDO

转载 作者:行者123 更新时间:2023-11-29 02:11:49 25 4
gpt4 key购买 nike

我有一个使用 PDO 连接 MySQL 实例的 GAE PHP 应用程序。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>);

关于php - GAE SQLSTATE [HY000] [2002] 上的 PDO,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50268010/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com