CLI 中的 $_SERVER 文档根目录

$_SERVER document root in CLI

CLI $_SERVER['DOCUMENT_ROOT'] 中不起作用。我怎样才能解决这个问题?有没有其他的选择。我不能使用相对路径,因为文件在不同的目录中。

$_SERVER 包含 headers,它在 CLI 中不可用。 Web 服务器定义文档根目录。在 CLI 中,您没有使用 Web 服务器,因此没有文档根目录。

您可以尝试依赖环境变量,假设它们是由您设置的 shell。

例如,PWD代表当前目录,HOME代表用户的主目录。

$pwd = getenv('PWD');
$home = getenv('HOME');

您也可以使用 __FILE____DIR__ magic constants 来尝试描述您当前所在的路径。