【问题标题】:Laravel 5.4: Failed to open stream: Permission deniedLaravel 5.4:无法打开流:权限被拒绝
【发布时间】:2018-10-20 00:49:49
【问题描述】:

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

文件上传代码

    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();
            }
        }

【问题讨论】:

    标签: laravel laravel-5.4


    【解决方案1】:

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

    在存储所在的父目录中通过 ssh 类型

    ls -ld
    

    对于存储目录,你应该有

    drwxrwxrwx
    

    如果不是,改成777

    sudo chmod -R storage
    

    或更具体的

    sudo chmod 777 -R storage/public
    

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

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

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

    【讨论】:

    • 你能告诉我如何检查和更改权限
    • @NidaAkram,我已经扩展了我的答案
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-05-31
    • 2013-06-05
    • 2019-05-02
    • 2018-06-27
    • 1970-01-01
    • 1970-01-01
    • 2019-08-22
    相关资源
    最近更新 更多