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 错误:无法打开流:没有这样的文件或目录