【发布时间】:2020-06-22 00:44:13
【问题描述】:
我已经使用phpseclib 与我的服务器连接,我想在特定文件夹中运行 3 个命令,但我在这个库中遇到了几个问题。
1 我得到
stdin: is not a tty bash:
每个命令后出错。我做了谷歌并找到了添加的解决方案
$ssh->enablePTY(); 然后我看不到我的输出返回 1 或 0。
2 添加后 $ssh->enablePTY();当我尝试运行另一个命令时,我面临着
If you want to run multiple exec()'s you will need to disable (and re-enable if appropriate) a PTY for each one
所以我在每个命令之前和之后添加了$ssh->enablePTY(); 和$ssh->disablePTY();,然后我只能看到 1 和 0 而不是我的命令的输出。
3我想在一个特定文件夹中背靠背运行 3 个命令,因此已执行
echo $ssh->exec('cd /home/my/public_html/testmags/; composer create-project --repository-url=https://repo.magento.com/ magento/project-community-edition /home/my/public_html/testmags/');
但我面对的是composer: command not found。
我已经花了 2 天时间,但无法解决任何这些问题。
小小的帮助将不胜感激。
提前致谢:)
【问题讨论】:
-
要在另一台服务器上运行composer,您是否检查过它是否已安装?如果是,您是否检查过它是否存在于给定文件夹中?
-
我已经使用 PUTTY 连接了我的服务器。Composer 命令在那里工作,但使用这个库它没有显示在那里。
标签: php ssh server phpseclib ssh2