0

我最近在我的 Oracle Linux 计算机上使用 PHP (5.3) 设置了我的 Apache 服务器 (2.2)。最初,我创建了三个文件:index.htmlindex.phpcountries.html. 我相信(不记得 100%)我在我的/var/www/html/文件夹中创建了这些文件,并且这些文件被自动授予所有者和组的root权限。但是,当我将我复制index.html到我的主目录(不是根目录)时,我不再能够访问该文件(403 消息 - 禁止访问),即使在我将其移回其原始/var/www/html/文件夹并更改其所有者和组的权限之后回到根目录

值得注意的是,我的index.php文件是默认页面,即使它没有列在DirectoryIndex. index.php此外,我通过复制文件、删除原始文件、将复制的版本移回/var/www/html/文件夹以及更改权限来试验我的文件。同样的结果,它不起作用。唯一的区别是 php 文件引发了内部服务器错误(HTTP 错误 500)。

我已将我的countries.html文件添加到我的DirectoryIndex行中,它现在将显示为默认页面。但是,如果我将其删除并保持DirectoryIndex原样:

DirectoryIndex index.html index.html.var

然后它将默认到我的index.php页面并输出内部服务器错误。

现在,我看到了几个问题:

  1. 尽管具有相同的权限,但复制的文件不起作用。我相信我复制index.php文件的实验证明了这一点。
  2. 默认页面,即index.php,未列在 中DirectoryIndex,但它仍然是默认页面。

任何帮助/见解将不胜感激。

4

1 回答 1

0

这也可能发生在您使用旧 php 版本并且在您的 php 文件中有一些与新 php 版本相关的语法的情况下。与 php 5.3 一样,我们没有短数组表示法,但在 5.5 中我们也有 5.4,我想这也会导致内部服务器错误。

查看您的 php 版本

php -v

如果它的版本为 5.3 或更低,请检查您的 php 文件是否包含任何新内容,例如新的短数组表示法 []。

不知道我是否在您想要的相同上下文中说话。因为我不太了解这个问题。

于 2013-09-11T17:21:16.990 回答