这是我第一次运行Pagoda盒子。我有一个PHP应用程序。它需要使用MySQL数据库。我上传了所有代码。我还创建了一个安全的隧道连接。但是当我尝试连接数据库时,存在一些问题。我无法加载数据库。它甚至没有给我任何错误。
这是我的代码
$this->load->database();
echo 'here';
$db['default']['hostname'] = 'tunnel.pagodabox.com:3306';
$db['default']['username'] = 'xxxx';
$db['default']['password'] = 'xxxx';
$db['default']['database'] = 'blog';
$db['default']['dbdriver'] = 'mysql';
$db['default']['dbprefix'] = '';
$db['default']['pconnect'] = TRUE;
$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']['port'] = 45000;
顺便说一句,我的MySQL数据库在端口3306上运行,隧道在45000上运行。
答案 0 :(得分:0)
假设您正尝试从本地计算机连接到pagodabox中的mysql数据库。
1.从桌面安全数据库隧道。如果连接成功,您可能会得到类似的东西。
Tunnel Established! Accepting connections on :
-----------------------------------------------
HOST : 127.0.0.1 (or localhost)
PORT : 3307
USER : (found in pagodabox dashboard)
PASS : (found in pagodabox dashboard)
2.从本地codeigniter应用程序连接到pagodabox mysql
<击> 撞击>
<击> $this->load->database();
echo 'here';
击> <击> 撞击>
$db['default']['hostname'] = '127.0.0.1';
$db['default']['username'] = 'xxxx';
$db['default']['password'] = 'xxxx';
$db['default']['database'] = 'blog';
..
..
$db['default']['port'] = 3307; // This one matches with Port displayed above.
</pre>
要查看错误,请打开index.php文件并设置错误报告E_ALL
if (defined('ENVIRONMENT'))
{
switch (ENVIRONMENT)
{
case 'development':
error_reporting(E_ALL);
break;
case 'testing':
case 'production':
error_reporting(0);
break;
default:
exit('The application environment is not set correctly.');
}
}
error_reporting(E_ALL);
答案 1 :(得分:0)
我建议使用更便携的配置。
Pagodabox公开了PHP $ _SERVER变量中的数据库凭据,我们可以从中受益:
if (isset($_SERVER["DB1_HOST"])) {
// Pagodabox
$db['default']['hostname'] = $_SERVER["DB1_HOST"].':'.$_SERVER["DB1_PORT"];
$db['default']['username'] = $_SERVER["DB1_USER"];
$db['default']['password'] = $_SERVER["DB1_PASS"];
$db['default']['database'] = $_SERVER["DB1_NAME"];
$db['default']['port'] = $_SERVER["DB1_PORT"];
} else {
// my localhost configuration here
}