世界那么大,我带你去看看

git 自动化部署遇到的问题,php网页执行无效,cgi模式可以执行 解决办法

安装的是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模式可以执行 解决办法

分享到:更多 ()

评论 抢沙发

评论前必须登录!

世界那么大,跟着我去看看

联系我们阿里云运行