0

当我尝试将文件保存到服务器上的文件夹中(来自临时文件夹)时,我的代码在 move_uploaded_file() 函数中出现权限被拒绝错误。

我的用户拥有所有网站目录和文件的完全权限。是否也有需要权限的 apache 用户?如何授予此 apache 用户权限?

如果不是这样。有没有办法可以使用 php chmod 函数来解决这个问题?

谢谢您的帮助!

4

2 回答 2

0

你是对的。您需要将文件移动到的文件夹不需要具有权限,它需要 Web 服务器具有权限。

基本上,您需要确定您的 Web 服务器正在运行的帐户,并授予该用户对目标目录的写入权限。

要弄清楚您的 Web 服务器帐户名称是什么,请尝试以下命令(假设您运行的是 Linux):

sudo lsof -i tcp:80

您应该返回一堆带有 USER 列的行。一个将是root,忽略那个。列出的另一个用户是运行 Web 服务器的用户。它可能类似于 www 或 www-data 或 apache 等。

之后,导航到上传目录的父目录,并使用以下命令更改其所有权和权限:

sudo chown www-data:www-data uploads
sudo chmod u+w uploads

此时,您的网络服务器用户现在有权写入您的上传目录。如果您有任何问题,请发表评论,我会尽力提供帮助。

于 2012-06-21T02:46:06.507 回答
-1

我假设您授予文件夹 777 权限?该文件夹需要这些权限。

于 2012-06-21T02:42:16.593 回答