1

一段时间以来,我一直在使用 ssh2_exec 为我们的工作场所构建管理面板和部署系统,到目前为止,当我尝试在本地服务器之外的另一台服务器上使用它时,它非常成功。

我不断收到“stdin: is not a tty”,我一直在网上寻找这个消息。我知道问题在于 ssh2_exec 本身不是交互式终端,而我要连接的服务器上的某些东西可能正在尝试检查某种输入法……至少我似乎明白。

我已经在谷歌搜索了 1 小时 30 分钟,试图找到与 php 的 ssh2 实现相关的帖子,这对于我现在的使用来说效果很好,但我从来没有找到解决这个问题的方法,尽管我想我可能有一个想法。

ssh2_exec() 有一个 $pty 参数(3rd),但文档没有告诉我们它似乎在做什么。有没有人熟悉它并且知道如何使用这个参数以及它是否真的可以解决我可能遇到的问题?

4

1 回答 1

2

你已经找到了答案。将 $pty 参数设置为true应该与将“-t”选项传递给ssh命令相同:它告诉客户端打开一个伪终端(又名“pty”,它来自“pseudo-tty”;“tty” ”来自“电传打字机”)并假装是交互式的。

于 2012-04-20T19:08:31.643 回答