【发布时间】:2011-06-12 22:24:05
【问题描述】:
所以我有一个问题要问你们......我正在尝试用 PHP 编写一个网站,允许人们将图像上传到我的服务器。我有上传部分工作,所以这不是问题。问题是当我尝试将上传的文件写入 apache 文档根目录之外的目录时。
Apache 的文档根目录是 /var/www/,而我试图将这些图像保存到的目录是 /mnt/storage/images/。我已经创建了目录,将组更改为 www-data,并将目录的权限更改为 777(尽管我知道这在安全方面很糟糕)。我对 apache 配置文件 /etc/apache2/apache2.conf 进行了一些尝试,即添加标签和别名行,但似乎没有任何效果。每次我尝试将文件上传到图像目录时,都会出现权限错误。我什至尝试手动将一些文件放在那里并使用别名导航到目录,使用网络浏览器,我得到一个 403 错误。
我知道我做错了什么,或者我没有做任何事情来完成这项工作。这几天我在谷歌上四处寻找帮助,我发现的只是无用的信息,或者几乎没有帮助的零碎信息。
顺便说一句...我在 Ubuntu 11.04 上使用 Apache 2.2.17,我有 root 访问权限和所有爵士乐。
谢谢, 罗比
编辑:这是我放入的 apache 配置的一部分:
Alias /images "/mnt/storage/images/"
<Directory "/mnt/storage/images/">
Allow from all
</Directory>
【问题讨论】:
-
你能发布你的 apache 配置的相关部分吗?可能要先修复 403 错误。
-
检查目录 /mnt/storage/ 和 /mnt 上的 apache 权限 它至少应该在所有这些目录上获得 x 权限(如果 apache 用户和组不在这些目录的用户或组上这意味着它应该在第三个,好吧)。
-
如果你不介意的话,你能把写的那段代码粘贴到不同的目录+启用XDEBUG并跟踪流程吗?