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