NET_SSH를 사용하여 SSH 연결을 통해 mysql 데이터베이스에 연결하려고합니다. 대화 형 셸을 읽고 쓰고 있습니다.PHP NET_SSH 의도 한대로 작동하지 않습니다.
내 코드는 다음과 같습니다
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 />';
하지만 내 출력은 다음과 같습니다
[email protected]:~$ 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;[email protected]:~$ 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;[email protected]:~$ show databases;
내 질문은 내가 생각했던 것처럼 왜 대화하지 않을입니까? 예상 된 결과가 mysql 연결이거나 적어도 mysql 프롬프트라고해야합니다. 그러나 나는 그것을 얻는다. 내가 뭔가 잘못하고 있는거야?
프롬프트가 같은 결과 –
내 게시물을 업데이트했습니다. 길고 짧게 ... 모든 write() 호출 끝에 \ n을 추가하십시오. – neubert