我遇到了问题。 如果我运行mysql命令,我的PHP脚本将中止:
ssh2_exec($session, 'mysql -sse "SELECT COUNT(*) FROM table"');
用putty命令没问题。任何其他命令,如'll -la'或其他什么都没有问题。
你能告诉我它为什么不起作用吗?
再见
答案 0 :(得分:0)
我不知道-sse
选项,但我想您的问题是ssh2_exec
返回的是流而不是字符串。
您可以尝试使用:
$stream = ssh2_exec($session, 'echo "SELECT COUNT(*) FROM table" | mysql');
$output = stream_get_contents($stream);
答案 1 :(得分:0)
好的......我现在明白了。
命令“mysql”在我的系统中是“mysql -u user -ppassword”的别名。 但如果你用ssh2_exec()做连接,所有别名都是未知的。
我所要做的就是这个。
ssh2_exec($session, 'mysql -u user -ppassword -sse "SELECT COUNT(*) FROM table"');
谢谢你!