在我的服务器中,我收到此错误消息
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
但它仍然无效。
我该如何解决这个问题?
答案 0 :(得分:4)
当您的服务器使用的用户与您在控制台中使用的用户不同时,这是一种常见情况。您可以为网络服务器www-data
和控制台user
。
755
表示所有者的完全权限,读取+执行用户的组和其他人(read this)。因此,当您chmod 755
为user
时,您授予user
完全访问权限,并且不授予www-data
的写入权限。
您必须将目录的所有者更改为服务器的用户。如果您的服务器用户是www-data
,请使用
sudo chown -R www-data:www-data /home/company/blog/public/img