2017-09-21 1 views
-1

Ich versuche, eine db von einem anderen Server zu verbinden. Ist es möglich, Yii2 db Verbindung von einem Server zu einem anderen Server db zu verbinden?Yii2 Db Verbindung zu einem anderen Server

+2

Ja, sehr möglich. – jagsler

+0

sogar möglich, mehrere Datenbankprüfung [hier] (https://stackoverflow.com/questions/27254540/multiple-database-connections-and-yii-2-0) –

Antwort

0

In db Config müssen Sie die IP-Adresse Ihrer Datenbank in Ihre dsn angeben: alle

'dsn' => 'mysql:host=YOUR_IP_HERE;dbname=YOUR_DB_HERE', 

Und das ist.

Es ist möglich, dass der zweite Server Verbindungen unter 3306 Port nicht erlaubt, also müssen Sie es in iptables (Linux-Server) erlauben.

+0

zu verbinden, wenn ich die IP-Adresse angegeben und db nameith zeigt dies Fehler "Ein Verbindungsversuch ist fehlgeschlagen, weil der verbundene Teilnehmer nach einer bestimmten Zeit nicht richtig reagiert hat oder die Verbindung fehlgeschlagen ist, weil der verbundene Host nicht reagiert hat." – SaabzCoder

+0

Sind Sie sicher, dass Ihre zweite Serverdatenbank Remoteverbindungen zulässt? – Yupik

0

Es ist sehr möglich, auch Sie können yii2 Anwendung mit vielen verschiedenen Datenbankservern verbinden. Sie müssen nur wie unten ein wenig in der Konfigurationsdatei hinzuzufügen:

'components' => [ 

    'db_server1' => [ 
     'class' => 'yii\db\Connection', 
     'dsn' => 'pgsql:host=localhost;dbname=DB_NAME;port=PORT_CONNECTION', 
     'username' => 'DB_USERNAME', 
     'password' => 'DB_PASSWORD', 
     'charset' => 'utf8', 
    ], 

    'db_server2' => [ 
     'class' => 'yii\db\Connection', 
     'dsn' => 'pgsql:host=OTHER_HOST;dbname=DB_NAME;port=PORT_CONNECTION', 
     'username' => 'DB_USERNAME', 
     'password' => 'DB_PASSWORD', 
     'charset' => 'utf8', 
    ],]; 

Hoffnung kann Ihnen helfen,

0

Sie haben eine andere DB-Verbindung in Ihrem web.php in der Config-Ordner zu konfigurieren:

'db2'=>[ 
     'class'=>'yii\db\Connection', 
     'dsn' => 'mysql:host=localhost;dbname=dbname', 
     'username' => 'root', 
     'password' => '', 
     'charset' => 'utf8'    
    ], 

und dann rufen Sie db2-Komponente.

Verwandte Themen