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

时间:2018-07-18 16:37:48

标签: php codeigniter google-app-engine google-cloud-platform google-cloud-sql

有人可以帮助我在Google Cloud App Engine上部署Codeigniter应用程序吗?看来我需要在某个地方定义<project-id>:<region>:<instance-name>才能使mysqli_connect正常工作(根据此视频教程的介绍,我想那是哪里出了问题-https://www.youtube.com/watch?v=QIWBxx0mE00)..但我不知道在哪里。还是需要修改mysqli_driver?有人吗?Error when deployed

2 个答案:

答案 0 :(得分:1)

首先,请避免在堆栈跟踪中发布图片,而应在原始帖子中张贴错误的完整堆栈跟踪。 您使用的是App Engine Flexible还是Standard?此外,您是否希望使用第二代Cloud SQL实例或第一代实例?您是将应用程序部署到GAE还是尝试在本地运行?

如果您希望将应用程序部署到Google App Engine,并且正在使用第二代Cloud SQL实例,那么我建议按照GAE Standard和提供的官方文档建立与Cloud SQL的连接。 GAE Flexible个应用。

答案 1 :(得分:1)

我在第二代MySQL实例中使用了App Engine Standard。我还尝试了第一代,就像我在这里或其他地方看到的那样,但这并不能解决问题。

我的实际问题是,如果我想使用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',

还是谢谢!