我有几个我想访问的远程数据库,但它们只能通过带密钥的SSH访问服务器.
在Sequel Pro中,我连接到这个远程数据库,如下所示:

如何配置我的Laravel应用程序以连接到这样的数据库?
'mysql_EC2' => array(
'driver' => 'mysql',
'host' => '54.111.222.333',
'database' => 'remote_db',
'username' => 'ubuntu',
'password' => 'xxxxxxxxxxxxxxxxxxxx',
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
),
Run Code Online (Sandbox Code Playgroud) 我想通过ssh在我的mysql服务器上建立一个ssh隧道.
理想情况下,我会返回一个mysqli数据库指针,就像我直接连接一样.
我在没有SSH2库的共享主机上,但我可以使用PECL在本地安装它们.
如果有一种使用本机命令的方法会很棒.
我在想这样的事情,但如果没有这些图书馆就无法运作.
$connection = ssh2_connect('SERVER IP', 22);
ssh2_auth_password($connection, 'username', 'password');
$tunnel = ssh2_tunnel($connection, 'DESTINATION IP', 3307);
$db = new mysqli_connect('127.0.0.1', 'DB_USERNAME', 'DB_PASSWORD',
'dbname', 3307, $tunnel)
or die ('Fail: ' . mysql_error());
Run Code Online (Sandbox Code Playgroud)
有人有主意吗?我在liquidweb上运行一个共享的CentOS linux主机.
关于使隧道持久的任何想法?是否有可能用另一个脚本建立它并只是利用它PHP?
谢谢.