Dotenv\Dotenv::__construct() 不是 Dotenv\Loader 的实例

我正在尝试构建一个 Linkedin API 代码,但我发现了一个奇怪的错误


Fatal error: Uncaught TypeError: Argument 1 passed to Dotenv\Dotenv::__construct() must be an instance of Dotenv\Loader, string given, called in E:\xampp\htdocs\linkedinpi\examples\index.php on line 16 and defined in E:\xampp\htdocs\linkedinpi\vendor\vlucas\phpdotenv\src\Dotenv.php:31 Stack trace: #0 E:\xampp\htdocs\linkedinpi\examples\index.php(16): Dotenv\Dotenv->__construct('E:\\xampp\\htdocs...') #1 {main} thrown in E:\xampp\htdocs\linkedinpi\vendor\vlucas\phpdotenv\src\Dotenv.php on line 31

我无法复制如何解决问题。


我已按照以下步骤操作


https://github.com/zoonman/linkedin-api-php-client 和 https://github.com/zoonman/linkedin-api-php-client/tree/master/examples


我已经通过 Composer 下载了 Vendor,这是我使用的代码


include_once dirname(__DIR__) . DIRECTORY_SEPARATOR . 'vendor/autoload.php';



    use LinkedIn\Client;

    use LinkedIn\Scope;



    $dotenv = new Dotenv\Dotenv(dirname(__DIR__));

    $dotenv->load();


    session_start();


    $client = new Client(

        getenv('[LINKEDIN CLIENT ID]'),

        getenv('[LINKEDIN CLIENT SECRET]')

    );


墨色风雨
浏览 405回答 2
2回答

holdtom

如果您使用的是 4.1...可变初始化$dotenv = Dotenv\Dotenv::createMutable(__DIR__, $evn_file); $dotenv->load();不可变的初始化$dotenv = Dotenv\Dotenv::createImmutable(__DIR__, $evn_file); $dotenv->load();

手掌心

更改调用 Dotenv 类自定义 env --> 用于运行多个 envs包的Git 链接:包的Git 链接 $dotenv = Dotenv\Dotenv::create(dirname(__DIR__), 'custom env');   $dotenv->load();当我从 laravel 5.8 迁移到 laravel 6 时遇到了这个问题注意请添加帮助包,因为支持已从 laravel 6 的核心文件中删除
打开App,查看更多内容
随时随地看视频慕课网APP