致命错误:Class' Dotenv \ Dotenv'找不到

时间:2016-05-12 23:54:36

标签: php namespaces laravel-dotenv

大家好我很困惑我不知道我做错了什么告诉我 致命错误:Class' Dotenv \ Dotenv'

中找不到

但我不明白为什么......

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

我的结构是下一个文件中的index.php是我调用Dotenv的地方我也用过Dotenv \ Dotenv;但它也不起作用。

enter image description here

8 个答案:

答案 0 :(得分:2)

检查作曲家文件中的“require”标签中是否有“vlucas / phpdotenv”:“~2.2”。如果你没有然后添加该插件并打开你的终端并运行“composer dump-autoload”然后运行“composer update”。只是为了安全运行“composer dump-autoload”再次刷新所有文件路径。

并且,如果你有phpdotenv插件,那么在“require”中添加该插件,然后运行dump-autoload命令。

答案 1 :(得分:2)

确保您在var authenticateUser = function(onSuccessCallback) { var authData = { Username: getUserName(), // gets username from an html text field Password: getPassword() // gets password from an html password field }; var authDetails = new AWSCognito.CognitoIdentityServiceProvider.AuthenticationDetails(authData); var cognitoUser = getCognitoUser(); cognitoUser.authenticateUser(authDetails, { onSuccess: function(result) { console.log('access token: ' + result.getAccessToken().getJwtToken()); console.log('idToken: ' + result.idToken.jwtToken); console.log(result); if (onSuccessCallback && typeof(onSuccessCallback) == 'function') { onSuccessCallback(cognitoUser); } }, onFailure: function(err) { // UserNotConfirmedException: User is not confirmed. console.log('authError'); alert(err); } }); } 加载后使用Dotenv

例如,我使用的是OpenCart,其中包含一个文件vendor/autoload.php,其中包含:

startup.php

我在// Autoloader if (file_exists(DIR_VENDOR . 'autoload.php')) { require_once(DIR_VENDOR . 'autoload.php'); } 中将DIR_VENDOR定义为:

config.php

最后,在define('DIR_VENDOR', __DIR__.'/vendor/'); ,我会:

index.php

所以// Startup require_once(DIR_SYSTEM . 'startup.php'); // dotenv $dotenv = new Dotenv\Dotenv(__DIR__); $dotenv->load(); 加载startup.php,加载vendor/autoload.php,然后我们可以找到vlucas/phpdotenv

答案 2 :(得分:1)

对我来说,这段代码是:

use Dotenv\Dotenv;

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

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

代替此:

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

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

答案 3 :(得分:0)

您只需要从complied.php中删除bootstrap\cache,它将可以正常工作。

谢谢

答案 4 :(得分:0)

只需删除/删除vendor文件夹,然后使用-> composer install重新安装。

答案 5 :(得分:0)

使用Dotenv \ Dotenv;

需要 DIR 。 '/../ vendor / autoload.php';

$ dotenv =新的Dotenv( DIR 。“ / ..”); $ dotenv-> load();

这对我也有用。我们可以使用它。谢谢。

答案 6 :(得分:0)

我正在使用PhpStorm IDE,并且通过SSH在服务器上安装了dotenv。随后,我在导致此错误的本地目录中没有新的供应商文件。我只是从服务器下载了最新的供应商文件夹(覆盖了本地文件夹),错误消失了。

答案 7 :(得分:0)

我刚刚删除了 vlucas 并再次运行 composer install。这为我解决了