0

我有问题。如果我运行 mysql 命令,我的 PHP 脚本会中止:

ssh2_exec($session, 'mysql -sse "SELECT COUNT(*) FROM table"');

用putty是命令没问题的。任何其他命令,如“ll -la”或其他命令都没有问题。

你能告诉我为什么它不起作用吗?

再见莫

4

2 回答 2

0

我不知道这个-sse选项,但我猜你的问题是ssh2_exec返回一个流而不是一个字符串。

您可以尝试使用:

$stream = ssh2_exec($session, 'echo "SELECT COUNT(*) FROM table" | mysql');
$output = stream_get_contents($stream);
于 2013-05-17T05:07:04.573 回答
0

好的……我现在明白了。

命令“mysql”在我的系统中是“mysql -u user -ppassword”的别名。但是,如果您使用 ssh2_exec() 进行连接,则所有别名都是未知的。

我所要做的就是这个。

ssh2_exec($session, 'mysql -u user -ppassword -sse "SELECT COUNT(*) FROM table"');

感谢你!

于 2013-05-18T04:28:19.773 回答