exec("git pull origin master 2>&1", $out);
作为root或apache的终端工作正常:php auto_deploy.php
但http http://.../auto_deploy.php返回错误
错误:无法打开.git / FETCH_HEAD:权限被拒绝
文件夹所有者和群组相同" apache"。
Chmod 777无济于事。
主要区别在于,当从HTTP启动php文件时它不起作用,感觉它知道它是http并阻止它,因为在终端Apache用户使用git甚至启动php文件也很完美。
答案 0 :(得分:0)
对于用例,您描述Apache用户将需要其SSH密钥批准,以便它可以访问远程存储库。
答案 1 :(得分:0)
这意味着.git目录不属于您。修改目录所有者的最简单方法。
Step1: Go to the directory by navigating cd command
Step2: sudo chown -R $USER: . (Don't remove .)
希望它能起作用