Matheus Lima
Matheus Lima

Reputation: 35

CodeIgniter on App Engine time out whe concting to MySQL

I am hosting a CodeIgniter API on GCP App Engine and I cant connect to the GCP Cloud SQL. I create the instance and database, but when I try to conect via CI I got a timeout message error screen time out erro

My databse config on CI is:

$db['default'] = array(
  'dsn' => 'mysql:unix_socket=/instance_name/instancia;dbname=project_name',
  'hostname' => 'http://00.000.00.00',//here i put the public ip from the sql instance
  'username' => 'user',
  'password' => 'passwd',
  'database' => 'projeto',
  'dbdriver' => 'mysqli',
  'dbprefix' => '',
  'pconnect' => FALSE,
  'db_debug' => (ENVIRONMENT !== 'production'),
  'cache_on' => FALSE,
  'cachedir' => '',
  'char_set' => 'utf8',
  'dbcollat' => 'utf8_general_ci',
  'swap_pre' => '',
  'encrypt' => yes,
  'compress' => FALSE,
  'stricton' => FALSE,
  'failover' => array(),
  'save_queries' => TRUE
);

Upvotes: 0

Views: 256

Answers (1)

Purdy
Purdy

Reputation: 66

I've been banging my head on this for a while, myself, and finally cracked it! Here's what my db config looks like:

$db['default'] = array(
  'dsn' => '',
  'hostname' => '/cloudsql/PROJECT-NAME:REGION:DATABASE',
  'username' => 'USERNAME',
  'password' => 'PASSWORD',
  'database' => 'DATABASE_NAME',
  'dbdriver' => 'mysqli',
  'dbprefix' => '',
  'pconnect' => FALSE,
  'db_debug' => (ENVIRONMENT !== 'production'),
  // 'db_debug' => TRUE,
  'cache_on' => FALSE,
  'cachedir' => '',
  'char_set' => 'utf8',
  'dbcollat' => 'utf8_general_ci',
  'swap_pre' => '',
  'encrypt' => FALSE,
  'compress' => FALSE,
  'stricton' => FALSE,
  'failover' => array(),
  'save_queries' => TRUE
);

The important bits are that the dsn is empty and the hostname is the full path to the unix socket. The rest of it should be about the same.

Hope that helps you, too!

Upvotes: 3

Related Questions