PHP - 通往 MySQL 的 SSH 隧道

标签 php mysql ssh ssh-tunnel

如何制作自毁的SSH隧道来访问另一台服务器上的MySQL?

目前我的代码如下所示:

exec('ssh -fNg -L 4343:127.0.0.1:3306 user@remotehost.com');

$mysqli = new mysqli('127.0.0.1', 'dbuser', 'dbpass', 'dbname', '4343');

这里的问题是脚本在执行 exec 命令后挂起。应该怎样 我执行脚本的其余部分,以及如何在脚本完成后关闭后台进程?

最佳答案

经过一番研究后,解决方案是在命令末尾添加 >/dev/null 2>/dev/null &

完整的工作示例行是:

exec('ssh -fNg -L 4343:127.0.0.1:3306 user@remotehost.com > /dev/null 2>/dev/null &');

关于PHP - 通往 MySQL 的 SSH 隧道,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46196765/

相关文章:

php - 使用 PHP 的人类可读日期

php - 与 PHP 和 Python 共享 Memcache

php - 将对象实例化为方法/函数调用中的参数是不好的做法吗?

mysql - 按 DeviceId 查询最后条目组

bash - ssh 函数上的 bash 脚本中的意外行为

php - 如何防止浏览器直接访问文件?

php - laravel-选项所有值

java - Process.waitFor() 在 mysql 备份期间永远等待

ssh - 转发 X11 失败 : Network error: Connection refused

c# - 在不使用自定义组件的情况下,使用SFTP连接到远程服务器并下载文件是否可行?