Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Plesk环境中从PHP执行时的Git权限_Php_Git_Apache_Plesk - Fatal编程技术网

在Plesk环境中从PHP执行时的Git权限

在Plesk环境中从PHP执行时的Git权限,php,git,apache,plesk,Php,Git,Apache,Plesk,我想在Plesk(Linux)管理的虚拟主机中的PHP应用程序中执行Git命令(Git pull,Git status) 由于git存储库是由vhosts系统用户设置的,Apache执行的带有git命令(例如exec(git pull)的PHP脚本在权限问题中运行 系统用户以及运行PHP脚本的Apache应该修改本地Git存储库的哪些文件权限?您应该拥有ssh密钥,这样您就不必担心权限问题,因为它将通过ssh完成 是共享代码的不同方式的列表。 单击所需选项,它将显示需要执行的操作的内容。仅当“A

我想在Plesk(Linux)管理的虚拟主机中的PHP应用程序中执行Git命令(
Git pull
Git status

由于git存储库是由vhosts系统用户设置的,Apache执行的带有git命令(例如exec(
git pull
)的PHP脚本在权限问题中运行


系统用户以及运行PHP脚本的Apache应该修改本地Git存储库的哪些文件权限?

您应该拥有ssh密钥,这样您就不必担心权限问题,因为它将通过ssh完成

是共享代码的不同方式的列表。

单击所需选项,它将显示需要执行的操作的内容。

仅当“Apache模块”用作域上的PHP处理程序时,在Apache用户下工作的PHP脚本

只需将PHP处理程序从apache模块切换到FastCGI或PHP-FPM:


这可以管理Git权限。但是如何定义文件权限和所有权?您的中央存储库是什么?github?比特桶我在比特桶上。但是这对Plesk.Yep下的本地文件权限应该没有影响,如果您不知道如何添加ssh密钥,请询问如何为您提供说明。如果要使用ssh密钥,则与用户无关。ssh握手是通过密钥完成的,不管用户是谁。只需使用git协议,它就可以工作了。这里有一个关于如何设置它的文档:Apache使用www-data-user和www-data-group运行PHP脚本,但是在命令行上vhost用户有一个不同的用户名。而且这个群体也不同。这意味着当git尝试更新文件(例如git pull)时,由于权限问题而失败。将所有文件设置为777并不是解决方案。我想你错过了答案:)只需将php处理程序更改为fastcgi即可。