不知道为什么我会收到此消息:
致命错误:未捕获的 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 上运行它。
非常感谢任何指导!