Composer php 从根目录使用composer时设置包的所有者/用户

Composer php 从根目录使用composer时设置包的所有者/用户,composer-php,Composer Php,我已在服务器上全局安装了composer 我在这台服务器上有几个不同的域/帐户。 作为root用户,我可以使用ssh连接到服务器上,并可以使用composer更新包 但是,每个包都有root:root的所有者和用户。 当我以帐户所有者的身份登录时,如果我需要更改包中的某些内容,我就没有足够的权限访问任何包 除了在每个帐户级别上安装ssh之外,是否有其他方法可以运行composer update并将用户/所有者设置为帐户持有人 非常感谢。我想说,如果您需要成为root用户来部署软件,那么您就做错了

我已在服务器上全局安装了composer

我在这台服务器上有几个不同的域/帐户。 作为root用户,我可以使用ssh连接到服务器上,并可以使用composer更新包

但是,每个包都有root:root的所有者和用户。 当我以帐户所有者的身份登录时,如果我需要更改包中的某些内容,我就没有足够的权限访问任何包

除了在每个帐户级别上安装ssh之外,是否有其他方法可以运行composer update并将用户/所有者设置为帐户持有人


非常感谢。

我想说,如果您需要成为root用户来部署软件,那么您就做错了

Composer不是部署工具,它是一个依赖关系管理器。这就是它所做的:它将下载所需的软件包并将其解压缩到文件系统中——作为运行install命令的用户帐户

如果你想改变这一点,你有几种选择,其中包括:

  • su
  • sudo
  • 在目录上设置组id标志(
    chmod g+s
  • 在服务器外部收集文件,并作为正确的用户通过SCP/SFTP/FTPS将其放置到位
  • 不作为该用户更改依赖项的代码,仅更改配置文件
  • 。。。等等

感谢您记住
如果您需要成为root用户来部署软件,那么您就做错了。