【问题标题】:Can't access php files copied into /var/www/ or other folders无法访问复制到 /var/www/ 或其他文件夹中的 php 文件
【发布时间】:2013-02-06 05:14:58
【问题描述】:

我使用的是带有 LAMP 设置的 Ubuntu 12.10。我将一个包含项目文件(php、html、css)的子目录从我的 Windows PC 上的 xampp/htdocs 复制到我的 ubuntu 的 /var/www/ 中。但是,当我从浏览器访问这些文件时(我可以看到目录列表),我在该目录中的所有文件上得到 403 Forbidden。 因此,我在该目录中创建了新的虚拟 php 文件,只是为了查看是否可以访问,并且它可以工作。知道可能是什么问题吗?

【问题讨论】:

  • 文件和子目录的所有权和权利可能是个问题。 ls -l 并检查新创建的文件和复制的文件之间的差异 - 可以将该输出添加到您的问题中。
  • /var/www 仅用于本地主机访问。没有解释您的问题(我们无法在没有访问权限或更多描述/调试信息的情况下对其进行调查)。但无论如何,创建一个新的虚拟主机并将您的文件放在那里。
  • @fvu 是的,唯一不同的是其他组用户,所以这不是问题
  • @fvu 抱歉,这是问题所在。将其他工作的权限更改为只读。这让我很困惑,因为我是所有者并且我已经拥有这些文件的读/写权限。我不确定为什么其他组也需要许可。
  • @lovetostrike 在正常管理良好的系统上,网络服务器在特殊组中的专用低权限用户下运行 - 不知道该用户+组是否标准化,请查看 apache 配置文件。这就是为什么如果您是所有者,您必须chmod o+r 才能使其工作。

标签: php apache ubuntu htdocs


【解决方案1】:

可能是所有权问题。 尝试做 chmod -R 775 /var/www/folder 和/或 chown -R domain:www-data /var/www/folder - domain 是该特定虚拟主机或 www-data 的用户

对于目录列表,您可能需要在 /etc/apache2/sites-available/default 中进行修改

+索引

http://www.cyberciti.biz/faq/enabling-apache-file-directory-indexing/

【讨论】:

  • 谢谢。它解决了问题,但我不明白这里发生了什么。我已经拥有所有用户的读/写权限,并且在此命令之后,它使文件可执行。我创建的虚拟文件没有 x 属性,但我仍然可以访问它。为什么会这样?
  • @lovetostrike 我也有这个问题,当我自己创建文件时它可以工作,但是当我将文件复制到我的 /var/www 时,apache 无法读取它们。
【解决方案2】:

这就是我解决问题的方法:

sudo su
chmod a+rwx /var/www/html/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-08-17
    • 1970-01-01
    • 2017-06-01
    • 2012-10-23
    • 1970-01-01
    • 2016-02-07
    • 2014-09-26
    相关资源
    最近更新 更多