如何在不提供完全公共写入权限的情况下允许在PHP中上传文件?

时间:2013-08-05 22:23:25

标签: php linux file-upload upload permissions

好的,所以我在PHP中有一个文件上传脚本,用于运行正常;但我刚把它搬到了新的服务器上。

新服务器对所有网站文件夹(运行Ubuntu)具有以下设置:

http://imgur.com/A7yGYWl

我的旧服务器在所有网站文件夹中都有以下设置,并允许使用相同的PHP代码上传文件:

http://imgur.com/aDzZx2n

我错过了什么吗?您是否必须为PHP本身设置这些访问权限? 'file_uploads = On'在php.ini中设置,其他与文件上传相关的内容设置为默认值。

我想要做的就是让我的PHP脚本将图像上传到特定目录。我错过了一些明显的东西吗允许公共写入权限允许脚本正确运行,因此它绝对是一个权限问题,而不是脚本的问题。但肯定允许公共写访问是一个很大的安全问题。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

您需要允许Web服务器软件对目标目录进行写访问。如果你正在运行Apache,那么通常会是'apache'。您可以从httpd.conf文件中获取该信息。查看目录所属的组(使用ls -l),并将apache用户添加到该组(useradd -G myGroup apache)。然后启用组写访问。