博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Windows 下用php exec执行git pull遇到的问题及解决方案
阅读量:5745 次
发布时间:2019-06-18

本文共 789 字,大约阅读时间需要 2 分钟。

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

具体环境是这个样子的,代码仓库在oschina上面,和网站不在一个服务器上,只能是采用webhook这种方法,在网页更目录设置一个php文件,进行手动更新(不是每次都想自动更新)。

完整代码如下

&1",$out);var_export($out);

git的全局环境是执行的 C:\Program Files\Git\cmd\git.exe。需要自行检查添加环境。


第一个问题

exec("git pull ",$out);var_export($out);

用cmd执行git pull的时候相当完美,刷刷的就更新下来了,但是当执行这个代码的时候发现返回的内容为空,而且还tm的没有更新下来,经过查阅资料,发现应该添加 2>&1,

具体原因如下:

clipboard.png

加上输出重定向之后,有了第二个坑


第二个问题

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文件的公钥。

又经过一番折腾,查阅资料,也借鉴这个哥们的答案,但是没有解决我的问题
最后在这个哥们的博客的提示下
开始查看哪个.ssh文件下面没有公钥,最后用everything查询.ssh文件

clipboard.png

最后发现第一个文件里面没有id_ras.pub,拷贝当前用户的pub文件过去后,问题解决了。。


后记:仅发此文以帮助更多的人!

转载地址:http://gtazx.baihongyu.com/

你可能感兴趣的文章
排序高级之交换排序_冒泡排序
查看>>
Cocos2d-x3.2 Ease加速度
查看>>
[EntLib]关于SR.Strings的使用办法[加了下载地址]
查看>>
中小型网站架构分析及优化
查看>>
写shell的事情
查看>>
负载均衡之Haproxy配置详解(及httpd配置)
查看>>
linux虚拟机拷贝之后联网出错
查看>>
Linux文件系统探索
查看>>
标准与扩展ACL 、 命名ACL 、 总结和答疑
查看>>
查找恶意的TOR中继节点
查看>>
MAVEN 属性定义与使用
查看>>
hadoop2.7.2 HA搭建
查看>>
shell高级视频答学生while循环问题
查看>>
无法SSH到Ubuntu
查看>>
使用@media实现IE hack的方法
查看>>
《11招玩转网络安全》之第一招:Docker For Docker
查看>>
hive_0.11中文用户手册
查看>>
hiveserver2修改线程数
查看>>
XML教程
查看>>
oracle体系结构
查看>>