我正在尝试使用 NET_SSH 通过 SSH 连接连接到 mysql 数据库。我正在使用具有读写功能的交互式外壳。
我的代码如下所示:
echo '<pre>';
$ssh -> setTimeout(10);
echo $ssh -> read('');
$ssh -> write('ls');
echo $ssh -> read('');
echo '<br />';
$string = 'mysql -u '. $database -> database_user . ' -h ' . $database -> datbase_host . ' --password=' . $database -> database_password . ' ' . $database -> database_name. '; show databases;';
$ssh -> write($string);
echo $ssh -> read('mysql>');
echo '<br />';
$this -> write('show databases;');
echo $ssh -> read('');
echo '<br />';
但我的输出如下所示:
lsubuntu@ip-xxxxxx:~$ ls
Last login: Fri Dec 28 16:08:39 2012 from ool3.dyn.optonline.net
mysql -u db_user -h xxx.us-east-1.rds.amazonaws.com --password=abc123 my_database; show databases;ubuntu@ip-xxxxxx:~$ mysql -u db_user -h xxx.rds.amazonaws.com --password=abc123 my_database; show databases;
Last login: Fri Dec 28 16:08:49 2012 from ool3.dyn.optonline.net
show databases;ubuntu@ip-10-151-4-222:~$ show databases;
我的问题是,为什么不像我想象的那样互动?我应该说预期的结果是一个 mysql 连接或至少一个 mysql 提示符。但我只是明白这一点。难道我做错了什么?