大家好我很困惑我不知道我做错了什么告诉我 致命错误:Class' Dotenv \ Dotenv'
中找不到但我不明白为什么......
$dotenv = new \Dotenv\Dotenv(dirname(dirname(dirname(dirname(__DIR__)))));
$dotenv->load();
我的结构是下一个文件中的index.php是我调用Dotenv的地方我也用过Dotenv \ Dotenv;但它也不起作用。
答案 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。这为我解决了