这是因为
images和
tmp_file_upload只能由
root用户写入。为了使上传正常工作,我们需要使这些文件夹的所有者与httpd进程所有者相同,或者使它们在全局范围内可写(不好的做法)。
- 检查apache进程所有者:
$ps aux | grep httpd
。第一列将是所有者,通常是nobody
更改您的所有者
images
和tmp_file_upload
要成为的所有者,nobody
或更改您在步骤1中找到的所有者。$sudo chown nobody /var/www/html/mysite/images/
$sudo chown nobody /var/www/html/mysite/tmp_file_upload/
Chmod
images
,tmp_file_upload
现在可以由所有者写(如果需要的话)[似乎您已经准备好了。在@Dmitry Teplyakov答案中提及。$ sudo chmod -R 0755 /var/www/html/mysite/images/
$ sudo chmod -R 0755 /var/www/html/mysite/tmp_file_upload/
有关为什么会发生此行为的更多详细信息,请查看手册[http://php.net/manual/en/ini.core.php#ini.upload-tmp-dir,请注意,它也涉及
open_basedir
指令。



