2014-10-31 75 views
1

我正在尝试使用c9.io开发环境连接到mysql数据库。我跟随他们的documentation,并看到多个链接,1,23c9.io php pdo连接到mysql

我验证了mysql服务正在运行。我还验证了PDO扩展是通过phpinfo()安装的。这里是我当前的代码:

$ip = getenv("REMOTE_ADDR"); 
$port = '3306'; 
$user = "username"; 
$db = "c9"; 

    try{ 
    $con = new PDO("mysql:host=$ip;port=$port;dbname=$db;charset=utf8",$user,""); 
    } 
    catch(Exception $e){ 
     echo $e->getMessage(); 
    } 

我得到的错误Can't connect to MySQL server on '10.240.x.x' (111)

如果我本地主机尝试作为东道主,我得到的错误Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

我也跟着从上面的第二个链接评论:echo $IP在终端返回0.0.0.0

任何援助赞赏。

+0

请解释downvote。 – andrsnn 2014-10-31 18:52:56

+0

你的密码在哪里? – 2014-10-31 19:46:19

+0

Cloud9 [文档](https://docs.c9.io/setting_up_mysql.html)说:“因为只能从工作区内访问数据库,所以没有密码” – andrsnn 2014-10-31 19:46:55

回答

2

你在正确的轨道上。在https://docs.c9.io/setting_up_mysql.html它说主机使用$ IP。您可以改为使用getenv(“IP”)或使用其值:0.0.0.0。这应该工作。 请尝试类似:

$dbname = 'c9'; 
$ip = getenv('IP'); 
$user = getenv('C9_USER'); 

mysql_connect($ip, $user, '') or die('Could not connect to mysql');