我的 MySQL 服务器托管在外面的某个地方,需要一个 ssh 隧道才能访问它;如何通过 PHP 连接到该服务器?有没有人遇到过同样的问题?
问问题
3798 次
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 回答