【问题标题】:PHP Fatal error: Class 'Dotenv' not found inPHP 致命错误:在中找不到类“Dotenv”
【发布时间】:2016-09-17 16:07:22
【问题描述】:

我有一个项目,我尝试运行它,但出现以下错误:

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

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

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 放在了错误的地方?

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

【问题讨论】:

    标签: php composer-php phpdotenv


    【解决方案1】:

    我猜 cwd 在您运行命令时已更改。确保 composer.json, .env, "vendor/autoload.php" 可以从项目根目录加载。

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

    【讨论】:

    • 我可以通过什么方式检查 CWD?
    • 我之前也尝试过'composer dump-autoload',但没有帮助
    【解决方案2】:

    正如 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!";
    }
    

    【讨论】:

      猜你喜欢
      • 2016-09-09
      • 2017-05-16
      • 2017-04-02
      • 2015-03-20
      • 2016-05-11
      • 2013-11-03
      • 2016-01-29
      • 2017-07-04
      • 1970-01-01
      相关资源
      最近更新 更多