这有效:
require_once 'ModuleTest.php';
但这不会:
require_once './ModuleTest.php';
为什么?这导致了同一个文件! (我在Os X上,所以文件路径是正确的)。两个文件都在同一目录中。
答案 0 :(得分:1)
require
(和include
)如果指定路径并且您已经在包含文件中,则工作方式会有所不同。
如果没有指定路径,它首先查看包含路径(即包含文件的位置的预设列表),然后在运行的原始脚本的路径中,如果找不到在那里,它查看当前文件的路径(即实际执行包含的文件)。
但是,如果指定路径,则会跳过第一部分,并仅查看相对于原始脚本的路径。
因此,如果您说include('ModuleTest.php');
,它会查找更多的位置,而不是您说include('./ModuleTest.php');
。
请参阅documentation page for include(),了解具体情况。
这可能令人困惑,最好的建议是让您的路径结构尽可能易于管理。
答案 1 :(得分:0)
您是否将斜线切换为'\'?我认为这可能是问题,但不是OS X用户,我不确定......