Laravel的Symlink存储链接无法正常工作

时间:2019-01-27 02:04:17

标签: php laravel

我正在使用以下代码使用laravel上传图像:

$logoPath = $request->file('logo')->store('uploads/clients');

工作正常,文件已上传到storage/app/uploads/clients/

然后,我运行命令php artisan storage:link在public中创建符号链接并成功创建它。问题在于此符号链接仅显示“存储/应用/公共”中的文件,但是正如我所说,我的图像已保存在storage/app/uploads/clients中。

我已经在其他项目中执行了此过程,并且工作正常,我真的不知道这次我做了什么不同。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

似乎您正在使用默认磁盘local,该磁盘将文件存储在storage/app中配置的config/filesystems.php目录中,但是您想要的是public磁盘通过运行storage/app/public将文件存储在链接到公用目录的php artisan storage:link中。

这是一些解决方案:

  • 指定要使用的磁盘:

    $request()->file('logo')->store('uploads/clients', ['disk' => 'public']);
    

OR

  • config/filesystems.php中创建一个新磁盘,并将其与您的uploads/clients链接,然后将FILESYSTEM_DRIVER中的默认config/filesystems.php更改为新磁盘。

OR

  • FILESYSTEM_DRIVER中的默认public更改为config/filesystems.php