PHP Dotenv的路径问题

PHP Dotenv的路径问题,php,phpdotenv,Php,Phpdotenv,我是新来的,已经试了几个小时来让它工作。我有一个具有这种结构的项目: /API -.env /Processor -index.php my.env文件的内容如下: API_KEY=xxxx 在我的index.php文件中 require __DIR__ . '/../vendor/autoload.php'; $dotenv = new Dotenv\Dotenv(__DIR__.'/../'); $dotenv->load(); $client =

我是新来的,已经试了几个小时来让它工作。我有一个具有这种结构的项目:

/API
    -.env
    /Processor
        -index.php
my.env文件的内容如下:

API_KEY=xxxx
在我的index.php文件中

require __DIR__ . '/../vendor/autoload.php';
$dotenv = new Dotenv\Dotenv(__DIR__.'/../');
$dotenv->load();
$client = Client::withApiKey($_ENV['API_KEY']);

如果我用实际的密钥替换$_ENV['API_Key'],它就会工作,因此我相信其余的设置是正确的。我觉得我找不到.env文件的正确路径-如何检查和/或修复?

您使用的Dotenv是错误的。它有一个创建实例的静态函数

 $dotenv = Dotenv\Dotenv::createImmutable(__DIR__ . '\..');
 $dotenv->load();
根据,您不应该直接使用构造函数。看起来通常的用法是Dotenv\Dotenv::createImmutable__DIR__.'/../';它返回一个对象,然后调用->加载