![www-data 可以上传文件,但上传后无法移动它](https://linux22.com/image/538642/www-data%20%E5%8F%AF%E4%BB%A5%E4%B8%8A%E4%BC%A0%E6%96%87%E4%BB%B6%EF%BC%8C%E4%BD%86%E4%B8%8A%E4%BC%A0%E5%90%8E%E6%97%A0%E6%B3%95%E7%A7%BB%E5%8A%A8%E5%AE%83.png)
我目前在 Ubuntu 上运行 Apache 和 PHP。我有一个页面,用户应该在其中上传个人资料图片。后端的操作应该像这样工作:
将文件上传到用户目录--有效!
参考上传的文件并在 thumbs 目录中创建缩略图 - 不起作用
www-data 对目录 thumbs 具有写入权限。我猜想 www-data 由于某种原因没有对已上传文件的正确访问权限。
上传文件权限
-rw-r--r-- 1 www-data www-data 47057 Feb 8 23:24 0181c6e0973eb19cb0d98521a6fe1d9e71cd6daa.jpg
THUMBS 目录权限
drwxr-sr-x 2 www-data www-data 4096 Feb 8 23:23 thumbs
我在这里迷路了。我也是 Ubuntu 新手。任何帮助都将不胜感激!
解决了:
我正在使用函数 imagecreatefromjpeg() 并且需要添加运行以下命令:
apt-get 安装 php5-gd
所以事实证明这不是权限问题。
感谢您的建议,我相信它们在不久的将来会派上用场!
答案1
这似乎是权限问题。如果是这样,您可以执行以下操作来确认。
将目标文件夹更改为/tmp/
。这是所有人都可写的文件夹。如果 thumbs 创建成功。那么很可能www-data
无法写入 thumbs 文件夹。另一个检查是更改您正在读取的文件夹。您也可以从 读取/tmp/
。如果有效,则您的www-data
用户在访问文件夹时遇到了麻烦。
答案2
听起来像是 selinux 踩到你脚的一个可能原因。试试
echo 0 >/selinux/enforce
并重复测试。