www-data-无法创建任何目录

www-data-无法创建任何目录

我正在运行 Ubuntu 8.04 LTS,它是我的网络服务器(LAMP)。

我的网络根目录是:

/var/www/website/trunk/html/

我创建了一个目录用于用户上传,位于:

/var/www/vault/

我做到了:

chown -R www-data /var/www/vault/

甚至勇敢地:(那是绝望的时刻)

chmod 777 -R /var/www/vault

我的 php 脚本无法在以下位置创建子目录:

/var/www/vault

我需要它,我很幸运地将文件上传到目录,但是,当它尝试创建目录时,我收到这样的错误......

Warning: mkdir() [function.mkdir]: Permission denied in /var/www/website/trunk/html/jquery.uploadify/uploadretro.php on line 149
File /var/www/website/trunk/html../../../../vault/4d4d3092c24be8a8dac2ec269e969446.jpg does not exist.

有人能帮助我或者提出一些建议吗?

我的 php INI 文件设置正确,允许上传,大小为 5m。

有任何想法吗?

更多信息 上述错误中第 149 行的命令是:

mkdir(str_replace('//','/',$targetPath), 777, true);

权限:

drwxrwxrwx  2 www-data root 4.0K Jun  3 06:04 vault

答案1

为了帮助调试访问,我建议您进入系统并运行如下命令sudo -i -u www-数据。这将为您提供与 Web 服务器具有相同权限的 shell。然后只需切换到 /var/www/vault 目录并查看您是否可以创建文件和目录。

如果您可以创建文件/目录,那么您的问题就不是权限问题,而是您的应用程序出了问题。

哦,顺便说一下,你的路径看起来坏了。

/var/www/website/trunk/html../../../../vault/

特别注意HTML..。 如果HTML..是正确的值,那么该路径将解析为/var/vault, 不是/var/www/vault

答案2

重新启动 apache。

相关内容