Storage::put() 在 Linux 服务器上不起作用

Posted

技术标签:

【中文标题】Storage::put() 在 Linux 服务器上不起作用【英文标题】:Storage::put() not working on Linux server 【发布时间】:2021-12-20 01:07:39 【问题描述】:

我想将我的图像保存在我的 Laravel 项目的存储路径中。 我正在使用包image intervention。 它工作正常并将图像保存在我的本地操作系统(Windows 10)中,但不保存在服务器操作系统(Linux)中。 Storage 文件夹权限是 755 我试过 777 但也没有用。 这是我的代码:

$filename = basename($request->tutorialImage);
$image = Image::make($request->tutorialImage)->resize(300, 400);
$image->stream();
Storage::disk('local')->put('files/shares/resizedImages/' . $filename . '-' . 300 . '-' . 400. '.jpg', $image);

【问题讨论】:

确保目录/文件名与磁盘上的完全相同,Windows 不区分大小写 - linux 是。 【参考方案1】:

使用这个

chown -R $USER:www-data bootstrap/cache
chown -R $USER:www-data storage
chown -R $USER:www-data resources/views
chown -R $USER:www-data public/files

chmod -R 775 storage
chmod -R 775 bootstrap/cache
chmod -R 775 resources/views
chmod -R 775 public/files

【讨论】:

以上是关于Storage::put() 在 Linux 服务器上不起作用的主要内容,如果未能解决你的问题,请参考以下文章

Laravel 5.5:Storage::put,file_put_contents 错误:无法打开流:没有这样的文件或目录

aws 中的多个 s3 存储桶放大

Java从ConcurrentHashMap中删除特定项

AWS 放大存储 |上传大文件

在linux里面做文件服务器 如何做

在linux终端远程登陆linux服务器