php - 哪个用户:group for my website root folder to be able to run composer update?

标签 php composer-php file-permissions pimcore

我有一个 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 并不是特别重要。只要它有足够的权限来写入您的项目文件(通常仅限于 vendorbinvarpublic; 尽管根据项目类型可能需要写入不同的目录。

由于您已经以 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/

相关文章:

javascript - 将 javascript 代码应用于两个不同的 php 页面

php - 在php shell_execute中执行qpdf

php - 使用分块编码对 PHP7 的 POST 请求无法正确返回结果

composer-php - 无法使用 Composer 将特定分支定义为需求

linux - Composer 更新不运行

twitter-bootstrap - 仅下载使用包管理器(Bower、npm、Composer)编译的 Bootstrap?

c# - C# 目录的组权限

linux - 在 Linux 中使用 C 将一个文件的精确统计参数应用到另一个文件

php - 如何通过POST类型以html形式发送PHP数组

php - 在 COUNT SQL 查询中将 NULL 包含为 0