gpt4 book ai didi

php - 拒绝访问 - PHP move_uploaded_file - Ubuntu LAMP/var/www

转载 作者:IT王子 更新时间:2023-10-29 00:48:46 37 4
gpt4 key购买 nike

我意识到我的 tmp 文件夹或我在/var/www 文件夹中创建的 images 文件夹的权限存在某种问题。我知道/var/www 最初具有根访问权限。我一直在关注一些在线教程来尝试解决这个问题,并且在过去一个小时左右的时间里将我的权限更改为谁知道发生了什么。

我在尝试使用 PHP/MySQL 从 HTML 表单上传文件时收到此错误:

Warning: move_uploaded_file(images/verified-gw.gif): failed to open stream: Permission  
denied in /var/www/addscore.php on line 40 Warning: move_uploaded_file(): Unable to move
'/tmp/phpla4QCP' to 'images/verified-gw.gif' in /var/www/addscore.php on line 40 cannot
move uploaded file or something beavis

所以我认为/var/www/images 文件夹的权限不正确或者 tmp 文件夹的权限是 root 并且 ubuntu 的内核不允许 php 脚本从这里移动root 拥有的文件到 images 文件夹,据我所知,该文件夹具有我的用户帐户的权限,并且在 nobody 组中。

我很迷茫,非常感谢任何帮助。

Ubuntu Linux gnome screenshot of permissions of a folder

在上面你可以看到我试图将文件从 tmp 目录移动到的图像文件夹的权限图片。

哦,这是失败的 PHP 脚本:

if (!empty($screenshot)) { 
move_uploaded_file($_FILES['screenshot']['tmp_name'], $target)
or die (' cannot move uploaded file or something beavis');

恭敬地,

用户

最佳答案

使用 USER DIR mod

如果这是开发机器,我认为是,不要尝试使用/var/www(总会有权限问题)尝试使用 user dir

您会将所有文件和项目保存在您的家中,不会有任何权限问题。

使用 Apache 根目录

好的,所以如果你不能使用用户目录,你必须像这样设置文件系统:

1. 找出 apache 所有者的用户名。如果你使用 Ubuntu,它应该是 www-data。转到终端并输入:

$ ps 辅助 | grep Apache

你应该在下面得到类似这样的东西。第一列是用户名。

www-data 2070 0.0 0.0 463244 7788 ? S sty25 0:00/usr/sbin/apache2 -k 开始

2.找出apache用户组。再次终端,输入:

$ sudo groups www-data

你应该在下面得到类似这样的东西。第二列是组名。

www-data : www-data

3. 为 apache 根目录设置 RIGHT 所有者用户和所有者组:

$ sudo chown -R www-data:www-data/var/www/

4. 为 apache root 目录设置 RIGHT 权限:

$ sudo chmod -R 775/var/www/

现在您已经清理了系统,我们尝试修复您的用户以访问/var/www 目录。

5. 将 apache 组添加到您的用户:

$ sudo usermod -a -G www-data {YOUR_USER_NAME}

警告!不要忘记 - 一个开关!这样您就可以将新组附加到现有列表,而不是用新列表替换旧组列表。

现在您可以读取/写入位于 apache 根目录中的文件。我们需要告诉 apache 新文件应该对组成员可读/可写

6. 将 umask 命令添加到 apache 环境配置中:

$ sudo echo umask 002 >>/etc/apache2/envvars

或使用图形编辑器:

$ gksudo gedit/etc/apache2/envvars

并将umask 002作为该文件的最后一行

7.

$ sudo apache2ctl restart

祝你好运!

关于php - 拒绝访问 - PHP move_uploaded_file - Ubuntu LAMP/var/www,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21357421/

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com