Laravel:无法打开流权限被拒绝[关闭]

Posted

技术标签:

【中文标题】Laravel:无法打开流权限被拒绝[关闭]【英文标题】:Laravel: failed to open stream permission denied [closed] 【发布时间】: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。

我做错了什么?

【问题讨论】:

你需要授予/home/amplr/portal.amplr.be/storage文件夹sudo chmod -R 777 /home/amplr/portal.amplr.be/storage的权限 这能回答你的问题吗? Laravel daily log created with wrong permissions 【参考方案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

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

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

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

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

【讨论】:

以上是关于Laravel:无法打开流权限被拒绝[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

AWS 中的 Laravel - 无法打开流:权限被拒绝

“无法打开流或文件“laravel.log”:无法打开流:权限被拒绝”

laravel - 无法以附加模式打开流或文件“/storage/logs/laravel.log”:无法打开流:权限被拒绝

xampp ubuntu laravel 无法打开流或文件“/storage/logs/laravel log”:无法打开流:权限被拒绝

从 Laravel 我无法打开流:权限被拒绝

无法打开流或文件“/app/storage/logs/laravel.log”:无法打开流:权限被拒绝