我在用着http://phpseclib.sourceforge.net/与我的服务器建立 SSH 连接,然后执行 SCP 命令以传输到远程服务器。该库的exec()
方法返回一个字符串(看起来像 SCP 命令的标准输出)而不是命令的返回值(例如0
表示成功)。
我不太愿意进行某种字符串比较来确定 SCP 传输是否成功(现在,我得到“stdin:不是 tty”)。是否有 SSH 命令可用于确定文件是否存在于另一台服务器上?或者有关于如何验证文件是否已传输的其他建议?
答案1
enablyPTY()
应修复 stdin:不是 tty。您还可以使用 来抑制 phpseclib 中的 stderr enableQuietMode()
。getExitStatus()
将返回退出状态。