我在连接到共享同一项目的应用引擎灵活环境中托管的云 SQL 实例时遇到问题。我正在使用PHP数据对象(PDO(来创建连接。我一直收到此错误:
SQLSTATE[HY000] [2002] 没有这样的文件或目录
即使我已经完成了有关授权应用程序等的所有设置。
这是我的示例代码:
public function __construct() {
try {
$this->datab = new PDO('mysql:unix_socket=/cloudsql/<MY INSTANCE CONNECTION NAME>;dbname=MY_DATABASE', 'USERNAME', 'PASSWORD');
$this->datab->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$this->datab->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);
} catch (PDOException $e) {
$this->isConnected = false;
throw new Exception($e->getMessage());
}
}
拜托,我需要做些什么才能让它工作吗?我现在真的很有库存,我确实需要帮助。
提前谢谢你。
试试这个
in app.yaml
env_variables:
MYSQL_USER: username
MYSQL_PASSWORD: password
MYSQL_DSN: mysql:unix_socket=/cloudsql/instancename;dbname=yourdbname
in your script:
$dsn=getenv('MYSQL_DSN');
$user=getenv('MYSQL_USER');
$pass=getenv('MYSQL_PASSWORD');
$dbh = new PDO($dsn, $user, $pass);