繁体   English   中英

PHP move_uploaded_file权限虽然看起来应该被拒绝

[英]PHP move_uploaded_file permission denied though it seems it should

我正在学习PHP并尝试使用以下代码上传文件:

$destination = "uploads/".$_FILES['userfile']['name'];
move_uploaded_file($_FILES['userfile']['tmp_name'], $destination);

但我面对的是

无法打开流:权限被拒绝

我可以将“uploads”目录的权限更改为每个人都可写,但当然这是不好的做法。 文件夹权限是:

drwxr-xr-x 2 loai loai 4096 Dec 30 12:44 uploads

并运行ps aux | grep httpd ps aux | grep httpd收益率

loai      6728  0.0  0.0   4368   832 pts/1    S+   18:37   0:00 grep --colour=auto httpd

那么apache进程是不是应该能够在给定的目录中写入? 谢谢

您可以尝试使用目标的完整路径。 就像是:

/var/www/project/uploads

首先,正如对问题的评论中所述,你的ps输出显示的是grep进程本身,而不是httpd进程(或者你的web服务器)。 这可能意味着您的Web服务器以不同的用户身份运行,而不是以loai身份loai 更改uploads文件夹的所有权或使其可写入组,然后将Web服务器的用户添加到相应的组

如果你可以用相对路径读取该目录,那么只需将它chown:

cd $path_to_your_site_root
chown -R loai:loai uploads

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM