3

不知道为什么我会收到此消息:

致命错误:未捕获的 Symfony\Component\Debug\Exception\FatalThrowableError: Class 'Dotenv\Dotenv' not found in /home/vagrant/devbox/devbox.local/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/DetectEnvironment。第 24 行的 php

下面是DetectEnvironment.php代码:

<?php

namespace Illuminate\Foundation\Bootstrap;

use Dotenv\Dotenv;
use Dotenv\Exception\InvalidPathException;
use Symfony\Component\Console\Input\ArgvInput;
use Illuminate\Contracts\Foundation\Application;

class DetectEnvironment
{
    /**
     * Bootstrap the given application.
     *
     * @param  \Illuminate\Contracts\Foundation\Application  $app
     * @return void
     */
    public function bootstrap(Application $app)
    {
        if (! $app->configurationIsCached()) {
            $this->checkForSpecificEnvironmentFile($app);

            try {
                (new Dotenv($app->environmentPath(), $app->environmentFile()))->load();
            } catch (InvalidPathException $e) {
                //
            }
        }
    }

在我重新启动计算机和服务器之前,我的项目一直正常工作。每当我访问该站点或运行 composer 或 artisan 命令时,我都会收到上述错误。

我尝试了各种我发现但没有奏效的解决方案。这包括:

  • 专门将 vlucas/phpdotenv 添加到作曲家文件中(它已经存在于供应商文件结构中,但添加它是为了确保)
  • 运行 composer update 和 composer dumpautoload
  • 创建一个新的 .env 文件

创建一个新的 laravel 项目是可行的,但我真的不想这样做(对此必须有一个简单的解释/修复)。

中列出的类似问题,但都没有适合我的答案:

我正在使用最新的 Laravel 版本并在 Homestead 上运行它。

非常感谢任何指导!

4

2 回答 2

1

你应该需要 Dotenv。使用这个作曲家命令:

require vlucas/phpdotenv
于 2018-02-22T21:12:05.863 回答
1

尝试删除 中的内容(不是目录本身)/bootstrap/cache/,然后删除您的/vendor/compiled.php,然后composer install再次运行。

于 2017-12-08T23:17:28.993 回答