为什么PHP显然存在时不包括我的文件?

时间:2009-12-08 15:12:59

标签: php include

这是确切的问题。我有一个自动加载功能,其中包含一段代码如下:

if(file_exists($class_file))
{
    include($class_file);
    return true;
}

但是,当$class_file设置为某个值时,我会收到包含错误:

Error String: include(includes/php/utilities/calendar_event_html.utility.php)
[function.include]: failed to open stream: No such file or directory

它适用于其他文件,当我使用调试器逐步执行此代码时,很明显PHP认为该文件存在,但似乎include没有。有没有人知道发生了什么?

2 个答案:

答案 0 :(得分:9)

从手册:

Note: The check is done using the real UID/GID instead of the effective one. 

这意味着该文件可能存在,但是您的PHP实例运行的UID / GID可能无法访问它。我建议你查看该文件的权限。

祝你好运,
费边

答案 1 :(得分:0)

尝试添加这一部分调试代码:

echo "<pre>";
echo get_include_path();
echo "</pre>";

function.get-include-path

这将返回您当前的包含路径,您可以将其与$ class_file字符串进行比较。