通过SSH将远程mysql服务器连接到symfony(doctrine)

时间:2019-04-26 10:17:25

标签: php mysql symfony ssh doctrine

我创建了一个symfony应用程序,我需要访问另一台服务器上的数据库(通过ssh)。我该怎么做?

我在学说文档中找不到任何选择。

2 个答案:

答案 0 :(得分:1)

如果数据库服务器未打开数据库端口,那么您必须将ssh用作这样的中间协议。

$host = 'remote host';
$sshuser = 'ssh user';
$sshpass = 'ssh password';
$dbuser = 'db user';
$dbpass = 'db pass';
$dbname = 'db name';

shell_exec("ssh -p$sshpass ssh -o StrictHostKeyChecking=no -f -L 3307:127.0.0.1:3306 $sshuser@$host");

$dbh = new PDO('mysql:host=127.0.0.1;port=3306;dbname=' .$dbname. '', $dbuser, $dbpass);

然后使用$ dhb与您的数据库进行交互。

也许您必须在学说库上写一些代码才能实现自己的想法。

答案 1 :(得分:0)

您必须打开SSH隧道。

请参见Can I SSH to MySQL with the GUI tools?Access Your MySQL Server Remotely Over SSH

对于parameters.yml来说,它看起来像是本地的MySql服务器,但是没有什么特别的。

相关问题