PHP require_once仍然需要多次

PHP require_once仍然需要多次,php,Php,我对require_的理解是,它可以防止多个PHP文件再次需要同一个文件。情况似乎并非如此 functions.php function myFunction(){} require_once("functions.php"); require_once("functions.php"); require_once("middleware.php"); middleware.php function myFunction(){} require_once("functions.php")

我对require_的理解是,它可以防止多个PHP文件再次需要同一个文件。情况似乎并非如此

functions.php

function myFunction(){}
require_once("functions.php");
require_once("functions.php");
require_once("middleware.php");
middleware.php

function myFunction(){}
require_once("functions.php");
require_once("functions.php");
require_once("middleware.php");
app.php

function myFunction(){}
require_once("functions.php");
require_once("functions.php");
require_once("middleware.php");

致命错误:无法重新声明myFunction()(先前在functions.php中声明…

我想知道它是否需要不同的函数文件。app.php和middleware.php是在同一个文件夹中还是在不同的文件夹中

我的建议是,无论何时使用
require
include
include\u once
require\u once
,都要使用绝对路径,使用
\u DIR\u


例如
require\u once\uu DIR\uuu.'/path/to/file.php'

我无法用你的示例代码重现这一点。是的,我正在失去理智。我一生中从未见过这一点。我没有对代码做过任何更改。突然,这一点出现了。=/你能用你的示例代码重现它吗?=)天啊。。我发现了问题。我不小心将functions.php上传到了另一个文件夹,然后。。不太清楚是怎么回事,但其他一些人把它捡了起来。。哇!我可能是PHP在文件路径方面比自己聪明,或者。。。啊。无论什么删除该文件。问题消失了。是的,它基本上缺少一个适当的
\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu。PHP太聪明了,从我上传到另一个文件夹的文件中找到了一个副本。