我的网站根文件夹 user:group 可以 运行 作曲家更新?
Which user:group for my website root folder to be able to run composer update?
我有一个 Pimcore 项目根文件夹,它由 www-data:www-data
递归拥有。
如果我使用 sudo composer update
,一切正常,但许多文件将设置为 root 所有者,这可能会导致更多问题。
如果我使用 sudo -u www-data composer update
,我会得到一个 RuntimeException:
file_get_contents(/home/me/.composer/config.json): failed to open stream: Permission denied
如果我使用 sudo -u me composer update
,在某些时候,我会得到另一个 RuntimeException:
An error occurred when executing the "'cache:clear --no-warmup'" command:
Fatal error: Uncaught RuntimeException: Unable to write in the cache directory (/var/www/html/pimcore/skeleton/var/cache/dev)
如果我将根文件夹的所有权更改为 me:www-data
,则会出现 RuntimeException 错误,因为某些文件夹对于组 www-data
不可写,像这个文件夹 /var/www/html/pimcore/skeleton/var/cache/dev/twig
权限设置为 drwxr-xr-x
.
我的根文件夹应该属于哪个 user:group
以及我应该如何 运行 composer update
?
It's better if you do not run composer as root.
除此之外,运行 composer 使用哪个用户并不是特别重要。只要它有足够的权限来写入您的项目文件(通常只能写入 vendor
、bin
、var
和 public
;尽管它可能需要写入不同的目录取决于项目类型。
由于您已经 运行 composer
为 root,似乎 /home/me/.composer/config.json
是在 root
所有权下创建的,这给您带来了额外的问题。只是 sudo chown
该文件,以便您自己的用户可以阅读。
设置项目,使所有文件都属于您的(非提升权限)用户,并且 after 运行ning install
修复权限为文档中推荐:
我有一个 Pimcore 项目根文件夹,它由 www-data:www-data
递归拥有。
如果我使用 sudo composer update
,一切正常,但许多文件将设置为 root 所有者,这可能会导致更多问题。
如果我使用 sudo -u www-data composer update
,我会得到一个 RuntimeException:
file_get_contents(/home/me/.composer/config.json): failed to open stream: Permission denied
如果我使用 sudo -u me composer update
,在某些时候,我会得到另一个 RuntimeException:
An error occurred when executing the "'cache:clear --no-warmup'" command:
Fatal error: Uncaught RuntimeException: Unable to write in the cache directory (/var/www/html/pimcore/skeleton/var/cache/dev)
如果我将根文件夹的所有权更改为 me:www-data
,则会出现 RuntimeException 错误,因为某些文件夹对于组 www-data
不可写,像这个文件夹 /var/www/html/pimcore/skeleton/var/cache/dev/twig
权限设置为 drwxr-xr-x
.
我的根文件夹应该属于哪个 user:group
以及我应该如何 运行 composer update
?
It's better if you do not run composer as root.
除此之外,运行 composer 使用哪个用户并不是特别重要。只要它有足够的权限来写入您的项目文件(通常只能写入 vendor
、bin
、var
和 public
;尽管它可能需要写入不同的目录取决于项目类型。
由于您已经 运行 composer
为 root,似乎 /home/me/.composer/config.json
是在 root
所有权下创建的,这给您带来了额外的问题。只是 sudo chown
该文件,以便您自己的用户可以阅读。
设置项目,使所有文件都属于您的(非提升权限)用户,并且 after 运行ning install
修复权限为文档中推荐: