Php 连接MySQL时应用程序引擎上的CodeIgniter超时
我在GCP应用程序引擎上托管CodeIgniter API,无法连接到GCP云SQL。我创建了实例和数据库,但当我试图通过CI连接时,收到了一条超时消息 错误屏幕 我在CI上的数据库配置为:Php 连接MySQL时应用程序引擎上的CodeIgniter超时,php,mysql,sql,codeigniter,google-app-engine,Php,Mysql,Sql,Codeigniter,Google App Engine,我在GCP应用程序引擎上托管CodeIgniter API,无法连接到GCP云SQL。我创建了实例和数据库,但当我试图通过CI连接时,收到了一条超时消息 错误屏幕 我在CI上的数据库配置为: $db['default'] = array( 'dsn' => 'mysql:unix_socket=/instance_name/instancia;dbname=project_name', 'hostname' => 'http://00.000.00.00',//here i
$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
);
我自己也在这上面撞了一阵子,终于把它砸碎了!下面是我的数据库配置的外观:
$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
);
重要的是dsn为空,主机名是unix套接字的完整路径。剩下的应该差不多
希望这对你也有帮助 为了帮助其他人解决同样的问题,这个配置文件的哪个部分是重要的,为什么?