[英]Configuring codeigniter with .env doesn't work for me
我正在嘗試通過 using.env 在 codeigniter 中配置 solr 端點。 我執行以下操作:
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',
)
)
);
}
#--------------------------------------------------------------------
# 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'
$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.