【问题标题】:Laravel: failed to open stream permission denied [closed]Laravel:无法打开流权限被拒绝[关闭]
【发布时间】:2020-12-13 22:25:05
【问题描述】:

尝试寻找一个可靠的答案,但还没有。我目前的设置如下:

  • 本地 ubuntu 服务器
  • 码头工人
  • laravel 应用

当 storage/ 和 bootstrap/ 的所有权设置为 www-data:www-data (chown) 时,应用运行良好。我唯一遇到的问题是,当我尝试运行 composer 或 artisan 命令时,它会给我一个错误:

生成优化的自动加载文件 Illuminate\Foundation\ComposerScripts::postAutoloadDump @php 工匠包:发现 --ansi 意外值异常 无法以附加模式打开流或文件“/home/amplr/portal.amplr.be/storage/logs/laravel.log”:无法打开流:权限被拒绝

当我将所有权设置回 ubuntu 用户时,作曲家和工匠工作,但应用程序抛出权限错误。完成作曲家命令后,我必须返回 www-data:www-data。

我做错了什么?

【问题讨论】:

标签: laravel docker composer-php laravel-artisan


【解决方案1】:

我会用

sudo chown -R $USER:www-data storage
sudo chown -R $USER:www-data bootstrap/cache

一起

chmod -R 775 storage
chmod -R 775 bootstrap/cache

因此,您可以通过 www-data 组为您的 linux 用户和 apache 读取/写入/执行。

【讨论】:

    【解决方案2】:

    这个帖子可能已经回答了。

    Laravel daily log created with wrong permissions

    本质上,这里有两个不同的用户在工作:

    1. 您的 PHP FPM 用户将是 www-data:www-data。该用户将有权写入日志文件,这就是目前对您有用的原因。

    2. 您的 PHP CLI 用户将是您登录的任何用户。该用户听起来好像没有写入日志文件的权限。

    对此有多种解决方案,从开放所有权限(坏主意)到为 FPM 和 CLI 用户创建新的日志文件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-05-31
      • 2013-06-05
      • 2019-05-02
      • 2018-06-27
      • 2018-10-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多