PHP致命错误:找不到类'Dotenv'

时间:2016-05-20 11:44:59

标签: php composer-php laravel-dotenv

我有一个项目我尝试运行它但是我收到了以下错误:

PHP Fatal error:  Class 'Dotenv' not found in `/home/maras/Documents/eCodile/debtorcare/server/bootstrap/app.php on line 5`

我在尝试执行php artisan start时遇到了这个错误我试图重新安装所有依赖项但是它没有用。 我刚刚尝试根据我在互联网上发现的其他类似问题运行一些命令,但其中任何一个都有效。我试过ie:

composer require vlucas/phpdotenv --prefer-dist

我有一个文件.env

这是一个放置错误的文件:

<?php

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

Dotenv::makeMutable();
Dotenv::load(__DIR__.'/../');
Dotenv::makeImmutable();

/*
|--------------------------------------------------------------------------
| Create The Application
|--------------------------------------------------------------------------
|
| Here we will load the environment and create the application instance
| that serves as the central piece of this framework. We'll use this
| application as an "IoC" container and router for this framework.
|
*/

$app = new Laravel\Lumen\Application(
    realpath(__DIR__.'/../')
);

错误是否可能与数据库或phpMyAdmin的错误配置有关?或者也许我把.env放在了错误的地方?

我尝试在开发中运行这个项目。

2 个答案:

答案 0 :(得分:1)

我猜你在运行命令时改变了cwd。确保可以从项目根目录加载composer.json,.env,“vendor / autoload.php”。

也许你需要在Dotenv安装后运行“composer dump-autoload”,

答案 1 :(得分:0)

正如 c9s 所示,请检查以确保您正在加载现有vendor/autoload.php,例如:

$vendor_audoload = __DIR__.'/../vendor/autoload.php';
print $vendor_audoload;
if(file_exists($vendor_audoload)){
    print " Exists!";
} else {
    print " Does not exist!";
}