【问题标题】:You don't have permission to access /marcon/assets/images/pic.jpg in apache php您无权在 apache php 中访问 /marcon/assets/images/pic.jpg
【发布时间】:2025-12-25 08:45:16
【问题描述】:

我收到此错误 您无权访问我本地 Fedora 17、php、mysql 和 apache(不是 Xampp 安装)上的 apache php 中的 /marcon/assets/images/pic.jpg。 我复制到目录的任何新文件都会发生此错误。旧文件 /marcon/assets/images/header.jpg 可以正常访问。我检查了权限,它们是 777(现在)但仍然不起作用。 这是一个非常奇怪的错误。子目录和其他图像工作正常。只是较新的文件不起作用

当我将它嵌入为图像以及直接访问它时会发生这种情况。它适用于目录中的所有其他文件。不只是较新的

编辑:具有讽刺意味的是,如果我将文件检入 github 并再次克隆项目,则不会发生此问题。一切正常。

【问题讨论】:

  • 您检查了出现此错误的文件的权限还是仅检查了目录?
  • 我做到了。我检查了他们的 peissions 并把它们都做成了 777。我确信这不是权限问题。与服务器有关。在此系统上上传文件(到 777 目录)之前,我遇到过此类问题,但从未找到解决方案
  • 是否有任何.htaccessdirectory 指令可能会限制您的访问?
  • 不。我检查了所有这些。具有讽刺意味的是,当我将文件签入 git,删除并重新克隆整个项目时,它可以工作

标签: php apache


【解决方案1】:

这是 SElinux 问题:

试试

$ ls -Z file1

你应该得到类似的东西:

drwxr-xr-x. apache apache unconfined_u:object_r:httpd_sys_content_t:s0 scripts

如果没有尝试:

chcon -R -t httpd_sys_content_t  /marcon/assets/images

【讨论】:

  • 我摆脱了 Fedora 并且在 ubuntu 上没有发生这种情况,所以我无法验证这一点。感谢您的回答