Laravel:无法拒绝打开流权限

问题描述

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

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

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

当我将所有权重新设置给ubuntu用户时,作曲家和工匠会工作,但该应用会引发权限错误。完成我的作曲家命令后,我必须重新回到www-datawww-data

我在做什么错了?

解决方法

我会用

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进行读/写/执行。

,

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

Laravel daily log created with wrong permissions

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

  1. 您的PHP FPM用户将为www-data:www-data。该用户将具有写入日志文件的权限,这就是当前为您工作的原因。

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

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