摘要:下用执行遇到的问题及解决方案具体环境是这个样子的,代码仓库在上面,和网站不在一个服务器上,只能是采用这种方法,在网页更目录设置一个文件,进行手动更新不是每次都想自动更新。需要自行检查添加环境。后记仅发此文以帮助更多的人
Windows下用php exec执行git pull遇到的问题及解决方案
具体环境是这个样子的,代码仓库在oschina上面,和网站不在一个服务器上,只能是采用webhook这种方法,在网页更目录设置一个php文件,进行手动更新(不是每次都想自动更新)。
完整代码如下
&1",$out); var_export($out);
git的全局环境是执行的 C:Program FilesGitcmdgit.exe。需要自行检查添加环境。
exec("git pull ",$out); var_export($out);
用cmd执行git pull的时候相当完美,刷刷的就更新下来了,但是当执行这个代码的时候发现返回的内容为空,而且还tm的没有更新下来,经过查阅资料,发现应该添加 2>&1,
具体原因如下:
加上输出重定向之后,有了第二个坑
array ( 0 => "Host key verification failed.", 1 => "fatal: Could not read from remote repository.", 2 => "", 3 => "Please make sure you have the correct access rights", 4 => "and the repository exists.", )
居然出现了这个问题,用exec执行不能读取用户目录.ssh文件的公钥。
又经过一番折腾,查阅资料,也借鉴这个哥们的答案,但是没有解决我的问题
http://blog.csdn.net/thy38/ar...,
最后在这个哥们的博客的提示下
http://www.jianshu.com/p/a0e7...
开始查看哪个.ssh文件下面没有公钥,最后用everything查询.ssh文件
最后发现第一个文件里面没有id_ras.pub,拷贝当前用户的pub文件过去后,问题解决了。。
后记:仅发此文以帮助更多的人!
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/22866.html
摘要:但是如果是在下使用的话,问题不是很大,体验还是很完美的,也就搞定文件挂载,搞定公网私网,忍受漫长的启动过程。总之,不用那就是和自己过不去。创建项目为什么把创建项目放到第一个来说,是因为可以避免研究时,无项目可用。 前言 我同事告诉我他的windows电脑装不上homestead,我已经有了在windwos下面折腾vagrant+virtual box+homestead的惨痛经验,然后...
摘要:但是如果是在下使用的话,问题不是很大,体验还是很完美的,也就搞定文件挂载,搞定公网私网,忍受漫长的启动过程。总之,不用那就是和自己过不去。创建项目为什么把创建项目放到第一个来说,是因为可以避免研究时,无项目可用。 前言 我同事告诉我他的windows电脑装不上homestead,我已经有了在windwos下面折腾vagrant+virtual box+homestead的惨痛经验,然后...
阅读 1812·2021-09-22 15:23
阅读 3190·2021-09-04 16:45
阅读 1720·2021-07-29 14:49
阅读 2746·2019-08-30 15:44
阅读 1502·2019-08-29 16:36
阅读 1017·2019-08-29 11:03
阅读 1472·2019-08-26 13:53
阅读 480·2019-08-26 11:57