2014-12-06 92 views
4

当前我在laravel面临上述问题。基本上这个项目是在Mac OS X上安装的,目前我正在Linux上开发。所以当我运行它是在浏览器上给我这个错误。我也改变了数据库文件中的数据库详细信息。但现在这个错误来了。所以你能告诉我如何解决它。SQLSTATE [HY000] [2005]未知的MySQL服务器主机'localhost:3306'(2)

公开赛:/var/www/laravel-projects/wit/vendor/laravel/framework/src/Illuminate/Database/Connectors/Connector.php

*/ 
public function createConnection($dsn, array $config, array $options) 
{ 
$username = array_get($config, 'username'); 
$password = array_get($config, 'password'); 
return new PDO($dsn, $username, $password, $options); 
} 

感谢

+1

你有Linux系统上的数据库呢? – John 2014-12-06 05:46:36

+0

是的,我有本地系统中的数据库。 – Arya 2014-12-06 06:34:51

+0

确保数据库有相同的端口(3306)可用,您的程序无法检测到MySql正在运行,这就是为什么您有该错误消息。可能是权限,或者不同的端口 – John 2014-12-08 16:20:05

回答

4

我相信版本在5.5之前,你可以使用“localhost”(或者主服务器运行的主机,如果它不是主机)'host'参数。如果它是在版本5.5之后,我认为你需要使用“localhost:3306”(不一定是3306,这只是默认的mysql端口,所以如果你改变了,它将会不同)。所以,如果你使用的是5.5以前版本的PHP,而代码版本是5.5以上版本,请尝试更改你的mysql连接器设置。猜测它看起来像:

array(
     'host' => "localhost:3306", 
     'username' => 'user', 
     'password' => 'pass', 
     'dbname' => 'database'); 
) 

也许尝试将此更改为:

array(
      'host' => "localhost", 
      'username' => 'user', 
      'password' => 'pass', 
      'dbname' => 'database'); 
    ) 
+0

这是m php版本的john。 PHP 5.5.9-1ubuntu4.5(cli)(构建于:2014年10月29日11:59:10) 版权所有(c)1997-2014 The PHP Group Zend Engine v2.5.0,Copyright(c)1998-2014 Zend Technologies使用Zend OPcache v7.0.3的 ,版权所有(c)1999-2014,由Zend Technologies – Arya 2014-12-06 06:36:59

+0

我已经在我的连接文件中使用localhost:3306尝试过。但它不起作用。 – Arya 2014-12-06 06:42:49

+0

mysql服务器正在运行吗?这听起来好像不是。运行命令“ps auxwww | grep mysql”并确保有一个mysqld进程正在运行。 – johnjg12 2014-12-10 01:33:16

相关问题