在Plesk环境中从PHP执行时的Git权限
我想在Plesk(Linux)管理的虚拟主机中的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
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即可。