簡體   English   中英

用.env 配置 codeigniter 對我不起作用

[英]Configuring codeigniter with .env doesn't work for me

我正在嘗試通過 using.env 在 codeigniter 中配置 solr 端點。 我執行以下操作:

  1. 我創建了一個配置 class SolrConfigEndpoints
namespace Config;

use CodeIgniter\Config\BaseConfig;

class SolrConfigEndpoints extends BaseConfig
{
    public $ptv = array(
        'endpoint' => array(
            'localhost' => array(
                'scheme' => 'http', # or https
                'host' => '127.0.0.1',
                'port' => 8983,
                'path' => '/',
                'core' => 'course_catalog',
            )
        )
    );
}
  1. 我配置了 in.env 中的值,如下所示:
#--------------------------------------------------------------------
# SOLR
#--------------------------------------------------------------------

Config\SolrConfigEndpoints.ptv.endpoint.localhost.host='localhost'
Config\SolrConfigEndpoints.ptv.endpoint.localhost.port=8983
Config\SolrConfigEndpoints.ptv.endpoint.localhost.path='/'
Config\SolrConfigEndpoints.ptv.endpoint.localhost.core='ptv'
  1. 在我的 model 我嘗試訪問.env 數據
$config = getenv();        
d($config); // something like a var_dump

並且 SolrConfigEndpoints 變量不存在。

我認為您正在嘗試從 SolrConfigEndpoints 獲取配置,因此您必須首先創建一個這樣的實例: $config = config('SolrConfigEndpoints'); 然后你可以像普通的 object 一樣訪問$config object 的屬性。 這里的想法是使配置在項目的任何地方都可以輕松使用。

而已聲明的 .env 屬性只是為了替換配置中定義的原始屬性。 訪問任何環境變量。 您必須使用getenv('key_name')

參考: https://codeigniter4.github.io/userguide/general/configuration.html?highlight=baseconfig

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM