gpt4 book ai didi

php - 为什么我的配置项没有从 codeigniter 中的 getenv() 条目填充?

转载 作者:行者123 更新时间:2023-12-03 20:22:15 26 4
gpt4 key购买 nike

我正在将 phpdotenv 与 Codeigniter 一起使用。 Codeigniter 的环境设置不太适合这个项目。

我试图在我的 config.php 文件中设置它:

$config['site_id'] = getenv('APP_ID');

phpdotenv 正在通过 pre_system Hook 加载,并且 getenv('APP_ID') 在整个应用程序中可用。我还检查了核心,这会在加载配置项之前很好地触发。
$hook['pre_system'] = function() {
$dotenv = new Dotenv\Dotenv(APPPATH);
$dotenv->load();
};
$this-config->item('site_id')的值总是 NULL
关于为什么会发生这种情况的任何建议将不胜感激。

提前致谢。

最佳答案

正如@jhodgson4 所述,CodeIgniter 在框架引导期间首先加载配置的常量 ( core/CodeIgniter.php )。您可以在 index.php 底部要求并初始化 dotenv文件,在加载 CodeIgniter.php 之前。这应该允许您在任何配置文件中使用 getenv。

// ...at the bottom of index.php
require APPPATH . 'vendor/autoload.php'; // composer installing into application/vendor

// Use FCPATH If your .env is in the same directory as index.php
// Use APPATH If your .env is in your application/ directory
$dotenv = Dotenv\Dotenv::createMutable(APPATH);
$dotenv->load();

/*
* --------------------------------------------------------------------
* LOAD THE BOOTSTRAP FILE
* --------------------------------------------------------------------
*
* And away we go...
*/
require_once BASEPATH . 'core/CodeIgniter.php';

关于php - 为什么我的配置项没有从 codeigniter 中的 getenv() 条目填充?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41088509/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com