我正在创建symfony应用程序,我需要访问另一个服务器上的数据库(通过ssh)。我怎么能做这样的事情呢?
我在理论文档中找不到任何选项。
发布于 2019-04-26 18:32:27
如果数据库服务器没有打开数据库端口,那么您必须使用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与您的数据库进行交互。
也许你必须在理论库上写一些代码来实现你的想法。
发布于 2019-04-26 19:18:56
您必须打开SSH通道。
参见Can I SSH to MySQL with the GUI tools?或Access Your MySQL Server Remotely Over SSH。
对于parameters.yml,这看起来像是一个本地MySql服务器,这意味着没有什么特别之处。
https://stackoverflow.com/questions/55865473
复制相似问题