我正在创建一个symfony应用程序,我需要访问另一台服务器上的数据库(通过ssh)。我该怎么办呢?
我在教条文档中找不到任何选项。
如果数据库服务器没有打开数据库端口,那么你必须使用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库上写一些代码来实现你的想法。
您必须打开SSH隧道。
见Can I SSH to MySQL with the GUI tools?或Access Your MySQL Server Remotely Over SSH。
对于parameters.yml,这看起来像一个本地的MySql服务器,并没有什么特别的。