致命错误:在中找不到类 'Dotenv\Dotenv'

Posted

技术标签:

【中文标题】致命错误:在中找不到类 \'Dotenv\\Dotenv\'【英文标题】:Fatal error: Class 'Dotenv\Dotenv' not found in致命错误:在中找不到类 'Dotenv\Dotenv' 【发布时间】:2016-09-09 00:21:57 【问题描述】:

大家好,我很困惑,我不知道我做错了什么,这告诉了我 致命错误:在

中找不到类“Dotenv\Dotenv”

但我不明白为什么..

$dotenv = new \Dotenv\Dotenv(dirname(dirname(dirname(dirname(__DIR__)))));
$dotenv->load();

我的结构是下一个,在文件 index.php 中我调用 Dotenv 我也使用过使用 Dotenv\Dotenv;但它也不起作用。

【问题讨论】:

【参考方案1】:

确保vendor/autoload.php加载后使用Dotenv。

例如,我使用的是 OpenCart,其中包含一个文件 startup.php,其中包含:

// Autoloader
if (file_exists(DIR_VENDOR . 'autoload.php')) 
    require_once(DIR_VENDOR . 'autoload.php');

我在config.php 中将DIR_VENDOR 定义为:

define('DIR_VENDOR', __DIR__.'/vendor/');

所以最后,在index.php,我会:

// Startup
require_once(DIR_SYSTEM . 'startup.php');

// dotenv
$dotenv = new Dotenv\Dotenv(__DIR__);
$dotenv->load();

所以startup.php 加载vendor/autoload.php,它加载vlucas/phpdotenv,然后我们可以找到Dotenv\Dotenv

【讨论】:

【参考方案2】:

只需删除/删除 vendor 文件夹并使用 -> composer install 重新安装。

【讨论】:

【参考方案3】:

检查作曲家文件的“require”标签中是否有“vlucas/phpdotenv”:“~2.2”。如果您不添加该插件并打开终端并运行“composer dump-autoload”,然后运行“composer update”。为了安全起见,再次运行“composer dump-autoload”以刷新所有文件路径。

而且,如果你有 phpdotenv 插件,那么将该插件添加到“require”中,然后运行 ​​dump-autoload 命令。

【讨论】:

我遇到了同样的问题。这是作曲家文件。 "name": "auth0/basic-webapp-sample", "description": "Basic sample for securing a WebApp with Auth0", "require": "vlucas/phpdotenv": "2.4.0", "auth0/auth0-php": "~5.0" , "license": "MIT", "authors": [ "name": "Martin Gontovnikas", "email": "martin@gon.to" , "name": "Germán Lena", "email": "german.lena@gmail.com" ] 不知道怎么解决。【参考方案4】:

您只需从bootstrap\cache 中删除complied.php 即可。

谢谢

【讨论】:

【参考方案5】:

对我来说,这段代码是:

use Dotenv\Dotenv;

require __DIR__ . '/../vendor/autoload.php';

$dotenv = new Dotenv(__DIR__ . "/..");
$dotenv->load();

而不是这个:

require __DIR__ . '/../vendor/autoload.php';

$dotenv = new Dotenv/Dotenv(__DIR__);
$dotenv->load();

【讨论】:

【参考方案6】:

我正在使用 PhpStorm IDE,并通过 SSH 在服务器上安装了 dotenv。随后我在本地目录中没有导致此错误的新供应商文件。我只是从服务器下载了最新的供应商文件夹(覆盖本地文件夹),错误就消失了。

【讨论】:

【参考方案7】:

我刚刚删除了 vlucas 并再次运行 composer install。这为我解决了它

【讨论】:

【参考方案8】:

通过composer require vlucas/phpdotenv安装vlucas/phpdotenv

【讨论】:

【参考方案9】:

使用 Dotenv\Dotenv;

需要 DIR 。 '/../vendor/autoload.php';

$dotenv = new Dotenv(DIR . "/.."); $dotenv->load();

这也适用于我。我们可以使用这个。谢谢。

【讨论】:

这只是此处(***.com/a/60761599/3511695)另一个答案的副本,但未格式化

以上是关于致命错误:在中找不到类 'Dotenv\Dotenv'的主要内容,如果未能解决你的问题,请参考以下文章

PHP 致命错误:在中找不到类“Dotenv”

Memcache 和 php:致命错误:在中找不到类“Memcache”

致命错误:在 sdk Paypal 中找不到类“Paypal\Api\Payer”

为啥,致命错误:在...中找不到类“PHPUnit_Framework_TestCase”?

致命错误:在 codeigniter 中找不到类

致命错误:在 ConnectionFactory.php 中找不到类 ConnectionWrapper