是否按文件夹更改PHP的包含路径?

是否按文件夹更改PHP的包含路径?,php,Php,我的应用程序根目录中有一个php文件。我可以这样访问它:localhost/auth.php 我的auth.php在这里 我想把auth.php放在根目录的用户文件夹中。localhost/user/auth.php 我把auth.php移到了用户文件夹。但警告发生了 包含一次:未能打开“infrastructure/account/AccountManager.php”以包含包含路径=。;C:\php\pear' 是否按文件位置包含一次相对路径更改?相对路径的基础始终作为当前工作目录 因此,当

我的应用程序根目录中有一个php文件。我可以这样访问它:localhost/auth.php

我的auth.php在这里

我想把auth.php放在根目录的用户文件夹中。localhost/user/auth.php 我把auth.php移到了用户文件夹。但警告发生了

包含一次:未能打开“infrastructure/account/AccountManager.php”以包含包含路径=。;C:\php\pear'


是否按文件位置包含一次相对路径更改?

相对路径的基础始终作为当前工作目录

因此,当您将auth.php的位置更改为user文件夹时,执行目录将更改为user文件夹

您必须转到根文件夹才能从根目录中选择文件夹。

尝试使用以下方法:

include_once("localhost/infrastructure/account/AccountManager.php");

../当前目录的父目录;如果需要返回两个级别,则必须使用.././等等。

试试这个

include_once($_SERVER['DOCUMENT_ROOT]."/infrastructure/account/AccountManager.php");

包括一次“../infrastructure…”。因为您的auth.php进入了一个文件夹,所以您的include路径发生了变化。您认为“relative”一词的确切含义是什么,嗯?一旦路径不是绝对的,因此不是以/开头,那么它将与当前工作目录相关联。这可能不是当前脚本的目录,如果包含它,则它是脚本跟踪执行开始的目录。它可能会在脚本中的某个地方用cd进行更改,但在常见情况下-它将是脚本启动目录。这一次可以工作,但这次,在/infrastructure/account中引用的其他文件正在发出警告。由于您已将auth.php移动到另一个文件夹,因此auth.php指向的所有文件以及指向auth.php的所有文件都可能输出错误,因此您需要在需要时检查并修改它们。
include_once("../infrastructure/account/AccountManager.php");
include_once($_SERVER['DOCUMENT_ROOT]."/infrastructure/account/AccountManager.php");