当前位置: 首页 > 后端技术 > PHP

Windows下用phpexec执行gitpull遇到的问题及解决方法

时间:2023-03-29 15:43:53 PHP

Windows下用phpexec执行gitpull遇到的问题及解决方法在服务器上,我们只能使用webhook的方式,设置一个php文件在网页更新目录下,进行手动更新(不是每次都要自动更新)。完整代码如下&1",$out);var_export($out);git的全局环境在C:\ProgramFiles\Git\cmd\git.exe中执行。您需要自己检查和添加环境。第一个问题是exec("gitpull",$out);变量导出($输出);在用cmd执行gitpull的时候,还是比较完美的,刷完就更新了,但是执行这段代码的时候,发现返回的内容是空的,tm一直没有更新。查阅资料发现应该加上2>&1。具体原因如下:添加输出重定向后,还有第二个坑。第二个问题数组(0=>'Hostkeyverificationfailed.',1=>'fatal:Couldnotreadfromremoterepository.',2=>'',3=>'Pleasemakesureyouhavethecorrectaccessrights',4=>'andtherepositoryexists.',)其实有这个问题,用exec读取不到用户目录下.ssh文件的公钥。折腾了好久,查了资料,我也借鉴了这位哥们的回答,但是并没有解决我的问题http://blog.csdn.net/thy38/ar...最后在这位哥们的提示下博客http://www.jianshu.com/p/a0e7...开始查看哪个.ssh文件没有公钥,最后用尽一切办法查询.ssh文件终于发现没有id_ras。pub在第一个文件中,复制当前用户的pub文件,通过后,问题解决。.后记:只发此文,帮助更多人!