【发布时间】:2014-06-21 01:10:55
【问题描述】:
我尝试了很多方法来连接到cloud 9 中的数据库,但我不断收到类似的错误。
这是我的 PHP 代码:
<?php
// Create connection
$con=mysqli_connect($IP, "$C9_USER", "", "c9");
//(host,username,password,dbname)<- guide for me
// Check connection
if (mysqli_connect_errno()) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
?>
我从 w3schools 获取了基本代码,并将其与解释 Cloud 9 的 mysql 数据库如何工作的文档一起使用:https://docs.c9.io/setting_up_mysql.html
但我似乎无法连接而不会出现以下错误:
Failed to connect to MySQL: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
所以我想知道是否有其他方法可以将套接字更改为 cloud 9 推荐的地址:注意: MySQL socket file can be found in ~/lib/mysql/socket/mysql.sock
【问题讨论】:
-
好像你错过了什么。用户名和数据库名称是否正确?你是用
localhost还是127.0.0.1作为IP? -
它说云 9 文档上的主机名是:与您在 Cloud9 上运行的应用程序相同的本地 IP
$IP这就是我正在使用的。我刚刚尝试了您的建议,但也失败了。 -
你启动数据库了吗?你检查了$IP中的值吗,我认为你需要替换它
-
是的,这似乎有点令人困惑,确保您已经使用
mysql-ctl start启动了该服务,还可以尝试mysqli_connect($IP.':/lib/mysql/socket/mysql.sock', $C9_USER...)还检查c9.io/site/blog/2013/05/mysql-for-every-workspace 也在它说没有免费帐户的 mysql 的地方。也许你应该联系支持并说您根本不理解而其他人也不理解,让他们举例说明。当您知道如何连接时,将需要 30 秒。投诉!!!!这些托管的 IDE 99% 的时间都被破坏或处于测试阶段,祝你好运.. -
检查 c9.io/site/blog/2013/05/mysql-for-every-workspace 上的 cmets 似乎有涉及获取 实际 IP 的解决方案服务器上的服务器和 实际用户名 提供的只是环境变量。如果不在终端中运行代码,您需要获取 实际 的代码,因此 您打开终端 (alt+t),然后键入:echo $IP 然后 echo $C9_USER
标签: php mysql sockets cloud9-ide