Why is PHP not including my file when it clearly exists?
Here is the exact problem. I have an autoload function set up with a piece of code that looks like this:
if(file_exists($class_file))
{
include($class_file);
return true;
}
However, when $class_file
is set to a certain value, I get an include error:
Error String: include(includes/php/utiliti开发者_JAVA百科es/calendar_event_html.utility.php)
[function.include]: failed to open stream: No such file or directory
It works fine for other files and when I step through this code with a debugger it is clear that PHP believes the file exists, but it seems that include
does not. Does anyone have an idea of what is going on?
From the manual:
Note: The check is done using the real UID/GID instead of the effective one.
This means that the file may exist, but it's possible that it is not accessible by the UID/GID your PHP instance is running with. I suggest you check the permissions to that file.
Best wishes,
Fabian
Try adding this bit of debugging code:
echo "<pre>";
echo get_include_path();
echo "</pre>";
function.get-include-path
This will return your current include path, and you can compare it with your $class_file string.
精彩评论