小编典典

通过PHP中的SSH连接到MySQL服务器

mysql

我想在ssh上建立到我的mysql服务器的ssh隧道。

理想情况下,就像我直接连接一样,我将返回一个mysqli db指针。

我在没有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());

谁有想法?我正在liquidweb上运行共享的CentOS linux主机。

关于使隧道持久化有什么想法吗?是否可以使用另一个脚本来建立它并仅仅利用它PHP

谢谢。


阅读 989

收藏
2020-05-17

共1个答案

小编典典

埃里克

我认为您对此不走运。您可以在PHP代码中使用ssh扩展名,或者可以访问服务器,则可以尝试在命令行上创建ssh隧道。

但是,您可能需要特殊的权限才能执行此操作。看起来您没有ssh访问此托管帐户。

-若昂

2020-05-17