gpt4 book ai didi

github - 用phpseclib从github拉远

转载 作者:行者123 更新时间:2023-12-02 14:07:12 25 4
gpt4 key购买 nike

我正在尝试从远程git repo自动更新网站。因为它在共享主机上,所以我在github和phpseclib 1.0上使用了一个webhook。这是我的代码:

$ssh = new Net_SSH2(SITE_DOMAIN);
$key = new Crypt_RSA();
$key->loadKey(file_get_contents('/home/'.SSH_USERNAME.'/.ssh/'.KEYPAIR_NAME));
if (!$ssh->login(SSH_USERNAME, $key)) {
throw new Exception('Failed to login');
exit('Login Failed');
}
echo $ssh->write("cd ~/source\n");
echo $ssh->write("git pull origin master\n");

git命令将无法运行。但是当我从终端手动执行git pull时
谢谢你的帮助

最佳答案

从您的代码:

echo $ssh->write("cd ~/source\n");
echo $ssh->write("git pull origin master\n");

通常,使用交互式 shell 程序时,您需要等待提示,然后再发送下一个命令。尝试这样的事情:
$ssh->read('#[prompt]#');
echo $ssh->write("cd ~/source\n");
$ssh->read('#[prompt]#');
echo $ssh->write("git pull origin master\n");

有时识别提示是很容易的-有时则不太容易。就像提示中带有彩色文本一样,这意味着提示与您想像的不一样。

关于github - 用phpseclib从github拉远,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49347110/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com