2016-05-12 13 views
2

Hallo Leute fand ich bin so verwirrt, ich weiß nicht, was ich falsch tue dies mir gesagt Fatal error: Class 'Dotenv \ Dotenv' nicht inFatal error: Class 'Dotenv Dotenv' nicht in

gefunden nicht

Aber ich verstehe, warum ..

$dotenv = new \Dotenv\Dotenv(dirname(dirname(dirname(dirname(__DIR__))))); 
$dotenv->load(); 

Meine Struktur der nächste und in der Datei index.php ist, wo ich Dotenv nenne ich auch Verwendung Dotenv \ Dotenv verwendet; aber es funktioniert auch nicht.

enter image description here

Antwort

0

überprüfen, ob Sie "vlucas/phpdotenv" haben: "~ 2.2" in "require" Tag in Komponisten-Datei. Wenn Sie das nicht tun, dann fügen Sie dieses Plugin hinzu und öffnen Sie Ihr Terminal und führen Sie "composer dump-autoload" aus und führen Sie "composer update" aus. und nur um sicher zu sein, führen Sie "composer dump-autoload" noch einmal aus, um alle Dateipfade zu aktualisieren.

und, wenn Sie phpdotenv plugin haben dann fügen Sie das Plugin in "require" und dann einfach den Befehl dump-autoload.

1

Stellen Sie sicher, dass Sie Dotenv nach laden von vendor/autoload.php verwenden.

Zum Beispiel war ich mit OpenCart, in dem eine Datei enthalten startup.php mit:

// Autoloader 
if (file_exists(DIR_VENDOR . 'autoload.php')) { 
    require_once(DIR_VENDOR . 'autoload.php'); 
} 

Und ich DIR_VENDOR in config.php definiert hatte:

define('DIR_VENDOR', __DIR__.'/vendor/'); 

So schließlich in index.php, ich hätte:

// Startup 
require_once(DIR_SYSTEM . 'startup.php'); 

// dotenv 
$dotenv = new Dotenv\Dotenv(__DIR__); 
$dotenv->load(); 

So lädt startup.phpvendor/autoload.php, die vlucas/phpdotenv lädt, nach denen wir dann Dotenv\Dotenv finden können.

Verwandte Themen