I have just moved form CI2 to CI3 and I am having trouble getting a DB connection to my Google Cloud SQL DB.
In CI2, I used:
And I had to modify the MySQLi Driver:
But now in CI3, the DB config does not work.
I changed the hostname to be what the socket is set to, but it doesn't seem to have helped.
Any ideas?
EDIT - Never mind, I was being stupid. I hadn't set my development environment session variables properly.
In CI2, I used:
PHP Code:
$db['default']['hostname'] = 'localhost';
$db['default']['username'] = 'root';
$db['default']['password'] = '';
$db['default']['database'] = 'my_db';
$db['default']['dbdriver'] = 'mysqli';
$db['default']['dbprefix'] = '';
$db['default']['pconnect'] = FALSE;
$db['default']['db_debug'] = TRUE;
$db['default']['cache_on'] = FALSE;
$db['default']['cachedir'] = '';
$db['default']['char_set'] = 'utf8';
$db['default']['dbcollat'] = 'utf8_general_ci';
$db['default']['swap_pre'] = '';
$db['default']['autoinit'] = TRUE;
$db['default']['stricton'] = FALSE;
$db['default']['socket'] = '/cloudsql/my-google-project-name:my-db-name';
And I had to modify the MySQLi Driver:
PHP Code:
function db_connect()
{
if(isset($this->socket)){
return mysqli_connect(null, $this->username, null, $this->database, null, $this->socket);
}
elseif ($this->port != '')
{
return @mysqli_connect($this->hostname, $this->username, $this->password, $this->database, $this->port);
}
else
{
return @mysqli_connect($this->hostname, $this->username, $this->password, $this->database);
}
}
But now in CI3, the DB config does not work.
I changed the hostname to be what the socket is set to, but it doesn't seem to have helped.
Any ideas?
EDIT - Never mind, I was being stupid. I hadn't set my development environment session variables properly.