为什么 ./ 没有被识别为我的 php 文件中的当前目录?

Why ./ is not being recognized as current directory in my php file?

我有以下文件层次结构:

并且 require_once 不知何故不起作用(警告:require_once(./AutentificadorJWT.php):无法打开流:C:[=17 中没有这样的文件或目录=].php 第 2 行) 据我所知 ./ 指向当前目录。现在以下工作: require_once 'AutentificadorJWT.php'; 为什么 ./ 不起作用?

当代码层次结构复杂时,很难知道当前目录是什么目录。如果你想有一个恒定的参考点,那么你可以使用 $_SERVER['DOCUMENT_ROOT'] 来定义你的代码在你的计算机上的基础。所以...

require_once $_SERVER['DOCUMENT_ROOT'].'/base.php';

将在您项目的根目录中为 base.php 工作。我遇到的一个问题是单元测试并不总是有很多 $_SERVER 变量集。

或者,您可以使用 __DIR__,这是当前文件的目录。因此,如果您将其更改为 ...

require_once __DIR__.'/AuthentifacdorJWT.php';

这将始终相对于您使用的文件的目录。