gpt4 book ai didi

php - 如果我的 PHP 脚本写在那里,/var/tmp/mysite 的权限应该是什么?

转载 作者:太空狗 更新时间:2023-10-29 12:20:14 26 4
gpt4 key购买 nike

我(PHP 新手)正在我的 Linux/Apache 服务器上建立一个遗留的 PHP 网站。

当我在浏览器中测试该网站时,出现此错误:

Warning: move_uploaded_file(/var/tmp/jinfo/Circuit/best_cities.csv):
failed to open stream: Permission denied in /var/www/jinfo/includes/jinfo.inc.php on line 89
Warning: move_uploaded_file(): Unable to move '/tmp/phpMLE9Ox' to
'/var/tmp/jinfo/Circuit/best_cities.csv' in
/var/www/jinfo/includes/jinfo.inc.php on line 89

看起来像是文件系统权限问题。该脚本使用 /var/tmp/jinfo 及其子文件夹来存储文件。该目录的权限是:

drwxr-xr-x 5 root root 4096 Aug  7 15:32 jinfo

由于 Apache 以用户 www-data 身份运行,因此错误消息是预期的。但是权限应该是什么?我确信有很多方法可以通过放宽权限来消除错误消息,但我想遵循最佳实践。我应该将所有者 (chown) 更改为 www-data,还是更改权限?

注意:我也需要将更改传播到子目录。

最佳答案

在更改组生效之前,您需要修复您的权限。正如 Explosion Pill 的回答中提到的,您应该将 Apache 的组更改为 www-data。您可以在 /var/www 目录中递归执行此操作:

chown -R owner:www-data /var/www

其中 owner 是当前拥有文件的用户。

这里可以分别看到所有者、组、其他人对该文件的读/写/执行权限:

drwxr-xr-x

忽略d,其他字母的意思是:

  • owner - 读写执行
  • 分组——阅读------执行
  • 其他 - 阅读 ------ 执行

此站点为您提供了 chmod 数字的含义:

http://www.goldenplanet.com/support/kb/articles/changing-of-file-rights-chmod-on-the-webserver.html

0: No rights 1: Execute2: Write3: Write/Execute4: Read5: Read/Execute6: Read/Write7: Read/Write/Execute

您可以在给出权限错误的目录上执行 chmod 775 这将授予文件所有者和组完全权限,同时仅授予“其他人” ,"读取和执行权限。

关于php - 如果我的 PHP 脚本写在那里,/var/tmp/mysite 的权限应该是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11857108/

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