php - Laravel 无法创建根目录

标签 php laravel laravel-5 laravel-filesystem

我已经查看了关于此的其他帖子,出于某种原因我的似乎是独一无二的

基本上我想做的是将上传的照片存储在公共(public)目录中以便于访问,但是当我存储它们时,我试图将它们存储在用户特定的文件夹中,所以

/public/photos/$User->id/$filename.jpg

现在我有 Dropzone 上传文件,我已经在我的 filesystem.php 中添加了这条语句

'public_uploads' => [
  'driver' => 'local',
  'root'   => public_path(),
],

所以理论上,当我使用

访问它时
Storage::disk('public_uploads') 

它应该检索到正确的路径

这也是我的 Controller

$User = User::find(Auth::user()->id);
$Photo = Request::file('photo');
Storage::disk('public_uploads')->put("photos/$User->id", $Photo);

然后我在上传时从 Laravel 收到这个错误

{message: "Impossible to create the root directory "/censoredfilesystem/public/Photos/1".",…}

不知道这段时间是从哪里来的,非常感谢任何帮助

谢谢大家!

  • 扎克

最佳答案

根据评论设置权限不知不觉地修复了,我用过

chown -R www-data:root .

在我的根目录

编辑:我使用了 www-data:root,意思是将 Laravel 目录中所有内容的所有者设置为 www-data(网络服务器)和 root 显然是 root。如果你这样做,你应该使用非根用户或只是 www-data

关于php - Laravel 无法创建根目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48013965/

相关文章:

javascript - 来自 PHP 的 Ajax 类型调用

Laravel 获取关系具有值(value)的模型集合

Laravel 模型必须返回一个关系实例

Laravel 5.2 Eloquent - 通过作用域访问

php - laravel 找不到支持的加密器。密码和/或 key 长度无效

php - 如何在PHP中处理多条件搜索

php - 时间相关算法的性能

php - body 中的 H1 标志无法正常工作

php - Laravel 将路由参数修改为 name 列而不是 id

php - 缓存 PHP MySQL 结果