Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 由于写入权限被拒绝,图像上载错误_Php_Image_Google Cloud Platform_Chmod_777 - Fatal编程技术网

Php 由于写入权限被拒绝,图像上载错误

Php 由于写入权限被拒绝,图像上载错误,php,image,google-cloud-platform,chmod,777,Php,Image,Google Cloud Platform,Chmod,777,我的网站上有一个上传图片的功能。我在本地主机上试用过,效果很好。现在我托管了它,出现了以下错误: 移动上载的文件无法打开流权限被拒绝 我在线检查了错误,发现通过将chmod更改为777,可以解决这个问题 我也试过同样的方法,效果很好。即使只有713也可以正常工作。但由于存在黑客攻击的可能性,给予777许可是不好的 有办法解决这个问题吗?我现在已经将chmod改为713,直到我可以得到一个更好的解决方案 我目前在谷歌云平台上托管了Ubuntu 16.04 image您可以使用2个选项 1) 您可以

我的网站上有一个上传图片的功能。我在本地主机上试用过,效果很好。现在我托管了它,出现了以下错误:

移动上载的文件无法打开流权限被拒绝

我在线检查了错误,发现通过将chmod更改为777,可以解决这个问题

我也试过同样的方法,效果很好。即使只有713也可以正常工作。但由于存在黑客攻击的可能性,给予777许可是不好的

有办法解决这个问题吗?我现在已经将chmod改为713,直到我可以得到一个更好的解决方案

我目前在谷歌云平台上托管了Ubuntu 16.04 image

您可以使用2个选项

1) 您可以将所有者从上载目录更改为apache用户

chmod www-data:www-data your_folder
但这有一些负面影响。您的ssh用户可以使用root权限在此处编辑文件

2) 您可以仅为上载文件创建一个组,并将您的ssh用户和apache用户放入该组

sudo addgroup uploaders
sudo usermod -aG uploaders www-data
sudo usermod -aG uploaders your_user
在此之后,更改上载文件夹的所有者

chmod your_user:uploaders your_folder

在此之后,您可以将权限更改为744或您想要的内容

web服务器使用的用户(如apache的
www-data
)需要对该文件夹具有读/写访问权限。如果该用户是所有者,755就足够了。