2014-12-06 89 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

相關問題