-1

我的 MySQL 服务器托管在外面的某个地方,需要一个 ssh 隧道才能访问它;如何通过 PHP 连接到该服务器?有没有人遇到过同样的问题?

4

1 回答 1

1

我没有但谷歌搜索我发现了以下示例:

<?php
  shell_exec("ssh -f -L 3307:127.0.0.1:3306 user@remote.rjmetrics.com sleep 60 >> logfile");         
  $db = mysql_connect('127.0.0.1', 'sqluser', 'sqlpassword', 'rjmadmin', 3307);
?>
  • 看来您首先需要设置一个 ssh Tunel(超时 60 秒)。这适用于操作系统级别(shell_exec);
  • 在本例中,您创建了一个 SSH 隧道,将 mysql 主机服务器上的3306端口重定向到本地(网络服务器)的3307端口;
  • 然后连接(mysql_connect),因为 mysql 服务器位于您自己的网络服务器中,重定向到 3307 端口。

我无法验证此解决方案,但我希望这可以帮助您向前迈出一步。

来源

于 2012-06-13T19:24:04.993 回答