无法在目录Laravel中写入

时间:2017-11-16 19:10:52

标签: php laravel permissions

在我的服务器中,我收到此错误消息

Unable to write in the "/home/company/blog/public/img" directory

当我尝试在我的控制器中上传这样的图像时

$file = $request->file('img');
        $name = time() . '-' . $file->getClientOriginalName();
        $file->move(public_path() .'/img/', $name);
        $company = company::where('username', $username)->first();
        $company->images()->create(['path' => "/{$name}"]);

我知道这是关于授予我尝试的权限

chmod 755 /home/company/blog/public/img

但它仍然无效。

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:4)

当您的服务器使用的用户与您在控制台中使用的用户不同时,这是一种常见情况。您可以为网络服务器www-data和控制台user

755表示所有者的完全权限,读取+执行用户的组和其他人(read this)。因此,当您chmod 755user时,您授予user完全访问权限,并且不授予www-data的写入权限。

您必须将目录的所有者更改为服务器的用户。如果您的服务器用户是www-data,请使用

sudo chown -R www-data:www-data /home/company/blog/public/img