2015-10-21 117 views
0

我试图从本地主机连接远程数据库,原因是我想将数据本地主机存储到远程服务器。现在我想简单地显示用户表格信息,它显示我的本地主机和不同的变量显示远程服务器用户表信息。这里我写的代码示例:多个数据库连接失败,Connector.php中的PDOException第47行SQLSTATE [HY000] [2002]连接尝试失败

在我的配置/ database.php中:

'mysql' => [ 
     'driver' => 'mysql', 
     'host'  => env('DB_HOST', 'localhost'), 
     'database' => env('DB_DATABASE', 'realstate'), 
     'username' => env('DB_USERNAME', 'root'), 
     'password' => env('DB_PASSWORD', ''), 
     'charset' => 'utf8', 
     'collation' => 'utf8_unicode_ci', 
     'prefix' => '', 
     'strict' => false, 
    ], 

    'shahin' => [ 
     'driver' => 'mysql', 
     'host'  => env('DB_HOST', '104.219.248.3'), 
     'database' => env('DB_DATABASE', 'laraveldb'), 
     'username' => env('DB_USERNAME', 'laraveldb_username'), 
     'password' => env('DB_PASSWORD', 'secret'), 
     'charset' => 'utf8', 
     'collation' => 'utf8_unicode_ci', 
     'prefix' => '', 
     'strict' => false, 
    ], 

在Route.php:

Route::get('mpdb',function(){ 
     $userArray = DB::table('users')->get(); 
     echo "<pre>"; 
     print_r($userArray); 
     echo "</pre><br>";   
     $users2 = DB::connection('shahin'); 
     $u = $users2->table('users')->get(); 
     echo "<pre>"; 
     print_r($u); 
}); 

本地数据库工作的正常,但远程数据库出现错误!

错误:SQLSTATE [HY000] [2002]连接尝试失败,因为连接方在一段时间后没有正确响应,或者由于连接的主机未响应而建立连接失败。

+1

我猜你的远程托管一些在那里了,大多数Web主机托管服务提供商块远程访问mysql。您可以向您的主机提供商咨询解决方案。如果它是你的服务器,那么你必须检查几件事情,IP可访问性,用户创建,数据库创建,它应该工作。 –

+1

如果您的提供商阻止访问,因此您有与提供商交谈,则没有标准解决方案。 –

+0

可能重复的[SQLSTATE \ [HY000 \] \ [2002 \]连接尝试失败.. - 尝试从本地连接到远程服务器时](http://stackoverflow.com/questions/36914770/sqlstatehy000-2002- a-connection-attempt-failed-when-attempting-to-connec) – e4c5

回答