1

私はしばらくの間ssh2_execを使用して、職場の管理パネルと展開システムを構築してきましたが、これまでのところ、ローカルサーバー以外のサーバーで使用しようとするまでは非常に成功していました。

私は「stdin:is not a tty」を取得し続けており、このメッセージを送信するためにWeb全体を探しています。問題は、ssh2_exec自体が対話型端末ではなく、接続しているサーバー上の何かが、おそらく何らかの入力メソッドをチェックしようとしていることだと理解しています...少なくともそれは私が理解しているようです。

私は1時間30分グーグルを探してphpのssh2実装に関連する投稿を見つけようとしましたが、これは今のところ私の使用法ではうまく機能しますが、アイデアがあるかもしれませんが、これを修正する方法を見つけることができませんでした。

ssh2_exec()には$ pty引数(3番目)がありますが、ドキュメントにはそれが何をしているように見えるかは示されていません。誰かがそれに精通していて、このパラメータの使用方法を知っていて、それが実際に私が抱えている問題を解決する可能性があるかどうかを知っていますか?

4

1 に答える 1

2

あなたはあなたの答えにたどり着きました。$pty 引数を に設定するtrueことは、'-t' オプションをsshコマンドに渡すことと同じである必要があります: これは、クライアントに疑似端末 (別名 "pty"、"pseudo-tty" から来ます) を開くように指示します。 " は "teletype" に由来する) であり、インタラクティブなふりをします。

于 2012-04-20T19:08:31.643 に答える