资讯专栏INFORMATION COLUMN

Windows 下用php exec执行git pull遇到的问题及解决方案

Panda / 2965人阅读

摘要:下用执行遇到的问题及解决方案具体环境是这个样子的,代码仓库在上面,和网站不在一个服务器上,只能是采用这种方法,在网页更目录设置一个文件,进行手动更新不是每次都想自动更新。需要自行检查添加环境。后记仅发此文以帮助更多的人

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

相关文章

  • Laradock 使用说明 ---- 不是很详细

    摘要:但是如果是在下使用的话,问题不是很大,体验还是很完美的,也就搞定文件挂载,搞定公网私网,忍受漫长的启动过程。总之,不用那就是和自己过不去。创建项目为什么把创建项目放到第一个来说,是因为可以避免研究时,无项目可用。 前言 我同事告诉我他的windows电脑装不上homestead,我已经有了在windwos下面折腾vagrant+virtual box+homestead的惨痛经验,然后...

    xiaoqibTn 评论0 收藏0
  • Laradock 使用说明 ---- 不是很详细

    摘要:但是如果是在下使用的话,问题不是很大,体验还是很完美的,也就搞定文件挂载,搞定公网私网,忍受漫长的启动过程。总之,不用那就是和自己过不去。创建项目为什么把创建项目放到第一个来说,是因为可以避免研究时,无项目可用。 前言 我同事告诉我他的windows电脑装不上homestead,我已经有了在windwos下面折腾vagrant+virtual box+homestead的惨痛经验,然后...

    dongfangyiyu 评论0 收藏0

发表评论

0条评论

Panda

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<