首页 > 解决方案 > Laravel 5.4:无法打开流:权限被拒绝

问题描述

我正在尝试移动一个将上传到公共/文件夹名的文件,但我收到了无法打开流的错误:权限被拒绝。请告诉我如何解决这个错误

文件上传代码

    if(!empty($rep))
        {
            foreach($rep as $rep)
            {
                $filename = $rep->getClientOriginalName();
                $fileSize = $rep->getClientSize();
                $rep->storeAs('public/reportAttachment',$filename);
                $reportId = Report::where('reportId',$request->reportId)->first();
                $reportA = new ReportAttachment;
                $reportA->reportAttachmentFile = $filename;
                $reportA->report_id = $reportId->id;
                $reportA->save();
            }
        }

标签: laravellaravel-5.4

解决方案


检查目录“storage”、“public”和“reportAttachment”的权限。如果未设置为 777,请将其 chmod 设置为 777。

通过 ssh 在存储所在的父目录中键入

ls -ld

对于存储目录,你应该有

drwxrwxrwx

如果不是,将其更改为 777

sudo chmod -R storage

或更具体

sudo chmod 777 -R storage/public

如果这不能解决问题,则可能缺少目录“reportAttachment”

如果这不能解决问题,请检查存储中的公共目录是否正确链接

如果这不能解决问题,请检查文件是否完全保存。


推荐阅读