无法连接到 Google 云上的 SQL 实例数据库

Unable to connect to SQL instance Database on Google Cloud

谁能帮我在 Google Cloud App Engine 上部署 Codeigniter 应用程序?看来我需要在某个地方定义 <project-id>:<region>:<instance-name> 才能让 mysqli_connect 工作(根据这个视频教程,我想这就是它出错的地方 - https://www.youtube.com/watch?v=QIWBxx0mE00).. but I don't know where.. or Do I need to mod the mysqli_driver? Anyone?

首先,请避免 post 使用堆栈跟踪图片,而是 post 原始 post 中错误的完整堆栈跟踪。 您使用的是 App Engine 灵活版还是标准版?另外,您希望使用第二代云 SQL 实例还是第一代实例?您是将应用程序部署到 GAE 还是试图 运行 在本地?

如果您希望将应用程序部署到 Google App Engine 并且您使用的是第二代云 SQL 实例,那么我建议设置与云的连接 SQL遵循为 GAE Standard and GAE Flexible 应用程序提供的官方文档。

我在第二代 MySQL 实例中使用 App Engine Standard。我也尝试了第一代,正如我在其他 post 此处或可能在其他地方看到的那样,但这并没有解决问题。

我的实际问题是,如果我想使用 mysql 并正确连接到云 sql 实例,如何在 Codeigniter 应用程序中定义套接字。那么答案是您需要在配置中使用 PDO 作为数据库驱动程序而不是使用 MySQL/Mysqli.

我尝试的第一个是:

'hostname' => NULL,
'socket' =>'/cloudsql/<project-id>:<region>:<instance-name>',
'dbdriver' => 'mysqli',

但这是实际有效的方法:

'dsn' => 'mysqli:unix_socket=/cloudsql/<project-id>:<region>:<instance-name>;dbname=<DB_NAME>',
'hostname' => NULL,
'dbdriver' => 'pdo',

谢谢!