2013-01-08 141 views
1

也许只是因为我不跟这样的事情经历过,但我下载的MySQL和Apache的运行,而我在一个PHP文件中下面的代码工作:

public static $connection = NULL; 

private static $host = MYSQL_HOST; 
private static $username = MYSQL_USER; 
private static $passwd = MYSQL_PASS; 
private static $db = MYSQL_DBNAME; 

public static function init() { 
    if(!self::$connection) { 
    self::$connection = new mysqli(self::$host, self::$username, self::$passwd, self::$db); 
} 

}

它这个,当我在Firefox中打开它来了:

trying to connect via unix:///var/mysql/mysql.sock (says this doesn't exist—which, it doesn't) 

我换成MYSQL_HOST与 '本地主机',MYSQL_USER既 'mysql的' 和 '根'(愚蠢的,是的),MYS QL_PASS与我的系统密码和NULL,以及MYSQL_DBNAME还有一些东西(我无法找到我的数据库名称被调用,即使使用MySQLWorkbench也是如此...我两天前开始学习整个计算领域)。它确实表示MySQL服务器正在我的机器上运行,只是不知道如何将这些Legos放在一起。大多数设置是默认的(端口3306等)。通过MySQLWorkBench进行的测试数据库迁移失败(与没有正确读取行数有关),但从我看到的情况来看,这很好,很花哨。

任何帮助将非常欢迎!

+3

[不要用静态技术杀死你的可测试性!](http://kunststube.net/static) – deceze

+0

你在使用什么操作系统? – Arjan

+0

对不起,未能提及 - MAC OS X Mountain Lion – user1956177

回答

1

当您指定localhost作为主机名时,您的计算机将尝试使用/var/mysql/mysql.sock中的套接字访问MySQL服务器。由于该文件不存在,这将无法工作。但是,当您指定127.0.0.1作为主机名时,MySQL连接将通过TCP/IP进行设置。

另请参阅this question

所以,答案是要么找到​​被定义,并将其更改为127.0.0.1,或忘记约​​,只需输入127.0.0.1来代替。如果你想将你的网站移动到其他位置(服务器),后者很难维护。