通过SSH(php)使用mysql
尝试通过ssh2和php连接到远程mysql通过SSH(php)使用mysql,php,mysql,mysqli,ssh,Php,Mysql,Mysqli,Ssh,尝试通过ssh2和php连接到远程mysql $ssh_server=''; $ssh_port=''; $ssh_user=''; $ssh_password=''; $ssh_connection=ssh2_connect($ssh_server, $ssh_port); $ssh_auth=ssh2_auth_password($ssh_connection, $ssh_user, $ssh_password); $ssh_tunnel = ssh2_tunnel($ssh_connec
$ssh_server='';
$ssh_port='';
$ssh_user='';
$ssh_password='';
$ssh_connection=ssh2_connect($ssh_server, $ssh_port);
$ssh_auth=ssh2_auth_password($ssh_connection, $ssh_user, $ssh_password);
$ssh_tunnel = ssh2_tunnel($ssh_connection, $ssh_server, $ssh_port);
$db_hostname = 'localhost';
$db_database = '';
$db_username = '';
$db_password = '';
$db_port = '3306';
$connection_mysql = new mysqli($db_hostname, $db_username, $db_password, $db_database, $db_port);
隧道是可以的,但我看到,mysql使用我的本地mysql数据库,而不是通过SSH使用远程数据库。那么,如何通过SSH使用mysql呢
带有WAMP的操作系统windows。使用ssh创建私钥/公钥并设置密钥身份验证(也称为无密码身份验证) 然后在php脚本中运行此代码
shell_exec("ssh -f -L 3307:localhost:3306 myuser@10.0.0.1 sleep 10 >> logfile");
然后创建数据库连接,如下所示:
$pdo = new PDO("mysql:host=$servername;dbname=$dbname;port=3307", $username, $password);
使用ssh创建私钥/公钥和设置密钥身份验证(也称为无密码身份验证) 然后在php脚本中运行此代码
shell_exec("ssh -f -L 3307:localhost:3306 myuser@10.0.0.1 sleep 10 >> logfile");
然后创建数据库连接,如下所示:
$pdo = new PDO("mysql:host=$servername;dbname=$dbname;port=3307", $username, $password);
将
localhost
更改为127.0.0.1
@Fred ii-127.0.0.1它就像localhost一样。我尝试了,但我再次尝试连接到本地数据库,而不是远程数据库。我关闭了本地数据库,但它没有任何更改。以下是一些链接,您可能想查看-----将localhost
更改为127.0.0.1
@Fred ii-127.0.0.1它类似于localhost。我尝试了,但我再次尝试连接到本地数据库,而不是远程数据库。我关闭了我的本地数据库,但它没有任何更改。以下是一些链接,您可能需要查看-----如果您安装cygwin并将cygwin的bin文件夹附加到path变量中,它会起作用。如果您安装cygwin并将cygwin的bin文件夹附加到path变量中,它会起作用。