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

问题描述 投票:0回答:2

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

我在教条文档中找不到任何选项。

php mysql symfony ssh doctrine
2个回答
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与您的数据库进行交互。

可能你必须在doctrine库上写一些代码来实现你的想法。


0
投票

您必须打开SSH隧道。

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

对于parameters.yml,这看起来像一个本地的MySql服务器,并没有什么特别的。

© www.soinside.com 2019 - 2024. All rights reserved.