致命错误:在中找不到类 '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'的主要内容,如果未能解决你的问题,请参考以下文章
Memcache 和 php:致命错误:在中找不到类“Memcache”
致命错误:在 sdk Paypal 中找不到类“Paypal\Api\Payer”