所以我有一个问题想问你们...我正在尝试用 PHP 编写一个网站,允许人们将图像上传到我的服务器。我的上传部分正常工作,所以这不是问题。问题是当我尝试将上传的文件写入 apache 文档根目录之外的目录时。
Apache的文档根目录是/var/www/,我尝试将这些图像保存到的目录是/mnt/storage/images/。我已经创建了该目录,将组更改为 www-data,并将目录的权限更改为 777(尽管我知道这在安全方面非常糟糕)。我使用 apache 配置文件 /etc/apache2/apache2.conf 尝试了一些操作,即添加标签和别名行,但似乎没有任何效果。每次我尝试将文件上传到图像目录时,都会出现权限错误。我什至尝试手动将一些文件放在那里,然后使用别名通过 Web 浏览器导航到该目录,但出现 403 错误。
我知道我要么做错了什么,要么我没有做任何事情来让这项工作成功。我已经用谷歌搜索了几天来寻求有关此问题的帮助,但我发现的只是无用的信息,或者几乎没有任何帮助的零碎信息。
顺便说一句...我在 Ubuntu 11.04 上使用 Apache 2.2.17,并且我拥有 root 访问权限和所有这些爵士乐。
谢谢,
罗比
编辑:这是我放入的 apache 配置部分:
Alias /images "/mnt/storage/images/"
<Directory "/mnt/storage/images/">
Allow from all
</Directory>
您必须授予 Apache 对所有涉及的目录的访问权限:
/mnt
/mnt/storage
/mnt/storage/images
做 777 没有意义images
如果 Apache 没有权限storage
or mnt
目录。
当然,仅images
需要具有写入权限,因为这是您实际进行文件操作的地方。mnt
and storage
最多需要读取权限,并且您可以通过将 Apache 的用户帐户放入一个组并将图像目录 chgrp 到该新组来摆脱全局 (xx7) 权限。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)