我正在这里的网站上工作,其中包含在其自己的子目录中的多个位置调用的网站部分。我在所述目录中创建了一个文件,并尝试将其包含在一个文件中,但由于某种原因,它无法正常工作。这是该文件中的代码。
<?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目录中的文件。
还有其他人遇到过这个问题吗?
答案 0 :(得分:2)
error_log中有错误吗?可能是第三个文件还有一些找不到的require_once。
您可以尝试使用$_SERVER['DOCUMENT_ROOT']获取根目录并根据您的要求使用它。
答案 1 :(得分:0)
知道它是否来自文件内容的快速方法是将其粘贴到主文件中。
如果该测试没有给出任何内容,请确保PHP具有足够的权限来读取相关文件。
答案 2 :(得分:0)
假设不包含的真实文件不是名为problem_file.php,这是否合理?如果是这样,那么您的文件名可能包含需要转义的字符(如空格)。