任何人都可以解释 ssh2_exec() 函数调用中的$pty参数


Can anyone explain the $pty argument in ssh2_exec() function call

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

我一直

得到"stdin:不是tty",我一直在网络上寻找这条消息。我知道问题是ssh2_exec本身不是一个交互式终端,我正在连接的服务器上的某些东西可能正在尝试检查某种输入法......至少我似乎是这么理解的。

我已经在谷歌上搜索了 1h30,试图找到与 php 的 ssh2 实现相关的帖子,它目前对我的使用效果很好,但始终无法找到如何解决这个问题,尽管我认为我可能有一个想法。

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

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