我有一个 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
; 尽管根据项目类型可能需要写入不同的目录。
由于您已经以 root 身份运行 composer
,因此似乎 /home/me/.composer/config.json
是使用 root
创建的> 所有权,这给你带来了额外的问题。只需 sudo chown
该文件即可由您自己的用户读取。
设置项目,以便所有文件都属于您的(非提升权限)用户,并在运行安装
后按照文档中的建议修复权限:
关于php - 哪个用户:group for my website root folder to be able to run composer update?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58951420/