我有一个简单的PHP脚本,可以对本地git存储库执行git commit操作。它曾经工作得很好,但是自从我移到新服务器后,它就停止了工作。exec响应代码为128,输出为空白。
我的第一个想法是目录权限或所有权,但是我已经尝试了所有方法,但无济于事。任何人都知道可能是什么问题,或者是更好地识别错误的方法?
这是一个重现该问题的测试代码:
$repoName = 'test';
$dirpath = __DIR__;
if (! file_exists($dirpath . DIRECTORY_SEPARATOR . $repoName)) {
mkdir($dirpath . DIRECTORY_SEPARATOR . $repoName, 0777, true);
}
exec('git init ' . $repoName);
$dirpath .= DIRECTORY_SEPARATOR . $repoName;
chdir($dirpath);
file_put_contents($dirpath. DIRECTORY_SEPARATOR . '.gitkeep', '');
file_put_contents($dirpath. DIRECTORY_SEPARATOR . 'realFile.txt', 'this is a test');
exec('git add -A');
exec('git commit -a --author="user <user>" -m "test message"', $output, $returnCode);
echo "return code $returnCode<br/>";
echo "output:<br/>";
var_dump($output);
2>&1
在shell命令末尾使用,将stderr重定向到stdout。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句