安装的是gitea,项目中创建一个 php文件,提交后webook请求http地址,进行更新
说明白点就是php执行 shell,执行命令行 php git.php 可以更新,但是 网页访问git.php就失效了。
归根原因是 在
/etc/sudoers 增加www-data 免输密码
www-data ALL=(ALL) NOPASSWD: ALL
然后是php简单的代码,webook 可以增加密钥的,我都省略了
<?php
echo gitpull();
// 下拉代码
function gitpull(){
if(function_exists(“shell_exec”)){
$cute = “sudo /usr/bin/git pull 2>&1”;
$exe = shell_exec($cute);
return $exe.“<p> 下拉完成-“.date(‘Y-m-d H:i:s’);
}else{
return ‘系统配置:shell_exec函数不可用’;
}
}
然后再你要执行的.git/config下面把要拉取的,填写好用户名,密码,或者你直接再这个脚本里面写上也是可以的。
未经允许不得转载:互联网骚操作 » git 自动化部署遇到的问题,php网页执行无效,cgi模式可以执行 解决办法
评论前必须登录!