php.ini exec 函数需要打开,才能自动部署(开启php exce函数 https://www.php.cn/php-weizijiaocheng-202741.html)
# 让文件可以编辑
chmod +w /etc/sudoers
# 编辑文件
vim /etc/sudoers
# www 代表linux 中的用户
www ALL=(root) NOPASSWD: /usr/bin/git
# 让文件只读
chmod -w /etc/sudoers
<?php
exec('cd ' . dirname(__FILE__) . '&&sudo git pull 2>&1', $res, $rc);
if ($rc == 0) {
echo '部署成功<br>';
} else {
echo '部署失败<br>';
}
echo '<pre>';
var_dump($res);
echo '</pre>';
echo '提交记录:<pre>';
exec('cd ' . dirname(__FILE__) . '&&sudo git log -5 2>&1', $res1, $rc);
var_dump($res1);
echo '</pre>';
?>