不能在Pagoda框中使用MySQL

时间:2014-02-10 09:08:34

标签: php mysql codeigniter database-migration pagoda-box

这是我第一次运行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上运行。

2 个答案:

答案 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
}