PHP 致命错误:在中找不到类“Dotenv”
Posted
技术标签:
【中文标题】PHP 致命错误:在中找不到类“Dotenv”【英文标题】:PHP Fatal error: Class 'Dotenv' not found in 【发布时间】: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 放在了错误的地方?
我尝试在开发中运行这个项目。
【问题讨论】:
【参考方案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!";
【讨论】:
以上是关于PHP 致命错误:在中找不到类“Dotenv”的主要内容,如果未能解决你的问题,请参考以下文章
PHP 致命错误:在中找不到类“RemoteWebElement”
Memcache 和 php:致命错误:在中找不到类“Memcache”
致命错误:在 ConnectionFactory.php 中找不到类 ConnectionWrapper
Laravel 4:致命错误:在 autoload.php 中找不到类 'Patchwork\Utf8\Bootup'