找不到require_once的PHP文件,其他文件位于同一目录中

时间:2009-10-09 00:43:59

标签: php apache

我正在这里的网站上工作,其中包含在其自己的子目录中的多个位置调用的网站部分。我在所述目录中创建了一个文件,并尝试将其包含在一个文件中,但由于某种原因,它无法正常工作。这是该文件中的代码。

<?php

require_once("a_file.php"); //this file loads
require_once("another_file.php"); //so does this one
require_once("problem_file.php"); //this one does not.

echo foo('I exist');

?>

并且找不到该文件的代码。

<?php

function foo($string) {
if ($string) {
    return $string;
    }
}

?>

在包含require和调用文件的文件中,已验证文件的拼写是正确的。 .htaccess文件中的include路径是正确的(否则,如果没有指定完整路径,则不会加载任何所需文件。错误消息是“无法打开流:没有这样的文件或目录”。所有权限都是相同的include目录中的文件。

还有其他人遇到过这个问题吗?

3 个答案:

答案 0 :(得分:2)

error_log中有错误吗?可能是第三个文件还有一些找不到的require_once。

您可以尝试使用$_SERVER['DOCUMENT_ROOT']获取根目录并根据您的要求使用它。

答案 1 :(得分:0)

知道它是否来自文件内容的快速方法是将其粘贴到主文件中。

如果该测试没有给出任何内容,请确保PHP具有足够的权限来读取相关文件。

答案 2 :(得分:0)

假设不包含的真实文件不是名为problem_file.php,这是否合理?如果是这样,那么您的文件名可能包含需要转义的字符(如空格)。