如何使用php模拟实现ssh方式登录执行mysql语句输出结果?类似于navicat的SSH连接数据库
查询php.net SSH文档先验证SSH:
$conn=ssh2_connect('SSH IP',22);
ssh2_auth_password($conn,'SSH USER','SSH PASS');
然后看网上几种不知道是否正确的写法:
1.使用ssh2_tunnel
$tunnel = ssh2_tunnel($conn, 'REMOTE MYSQL IP', 3307);
$mysqli=new mysqli('127.0.0.1','MYSQL USER','MYSQL PASS','MYSQL DB',3307,$tunnel);
$result=$mysqli->query($SQL);
2.使用ssh2_exec
$stream=ssh2_exec($connection,'echo "select * from db.table where id=\"1\";" | mysql');
3.使用shell_exec
shell_exec("ssh -f -L 127.0.0.1:3307:127.0.0.1:3306 user@remote.rjmetrics.