我尝试连接 2 个数据库Laravel 5.6
项目,但我遇到这样的错误
SQLSTATE[HY000] [2002] 连接尝试失败,因为连接方在一段时间后没有正确响应,或者由于连接的主机未能响应而建立的连接失败。 (SQL:从中选择 *mt_merchant
)
我尝试了以下代码:
.env
第一个数据库连接(这是在我的本地服务器中)
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=thedaldb
DB_USERNAME=root
DB_PASSWORD=
第二个数据库连接(这是在实时服务器 IP 18.188.209.59 中)
DB_CONNECTION_SECOND=mysql
DB_HOST_SECOND= 18.188.209.59
DB_PORT_SECOND=3306
DB_DATABASE_SECOND=delivery_test_copied
DB_USERNAME_SECOND=testuser
DB_PASSWORD_SECOND=testuser@123
app/config/database.php
'connections' => [
'onlineorder' => [
'driver' => env('DB_CONNECTION_SECOND'),
'host' => env('DB_HOST_SECOND'),
'port' => env('DB_PORT_SECOND'),
'database' => env('DB_DATABASE_SECOND'),
'username' => env('DB_USERNAME_SECOND'),
'password' => env('DB_PASSWORD_SECOND'),
],
]
app/Models/OnlineOrder/OnlineOrder.php
<?php
namespace App\Models\OnlineOrder;
use Illuminate\Database\Eloquent\Model;
class OnlineOrder extends Model
{
protected $connection = 'onlineorder';
}
app/Http/Controllers/Onlineorder/AppOnlineOrderController.php
<?php
namespace App\Http\Controllers\Onlineorder;
use Symfony\Component\HttpKernel\Exception\HttpException;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\Input;
use App\Models\OnlineOrder\OnlineOrder;
use Illuminate\Http\Response;
use Illuminate\Http\Request;
use Carbon\Carbon;
use Validator;
use Config;
use File;
use DB;
class AppOnlineOrderController extends Controller
{
public function test($merchant_id)
{
$db_ext = DB::connection('onlineorder');
$merchant = $db_ext->table('mt_merchant')->get(); //mt_merchant is table name
print_r($db_ext);exit;
}
}
只是我想连接本地服务器项目中的实时服务器数据库