【问题标题】:YII2 Elasticsearch db configurationYII2 Elasticsearch 数据库配置
【发布时间】:2016-04-08 19:06:18
【问题描述】:

我已经安装了带有 Elasticsearch、Logstash、Kibana 的 yii2。除了与 YII2 的交互外,该设置运行良好。

以下是./config/db.php的内容

<?php
return [
    'components' => [
    'db' => [
    'class' => 'yii\elasticsearch\Connection',
            'user' => 'admin',
            'password' => 'admin',
            'nodes' => [ ['http_address' => '127.0.0.1:9200'],
            // configure more hosts if you have a cluster
        ],
    ],
]
   ];

此配置不起作用,以下是错误的第一行。

无效配置 – yii\base\InvalidConfigException

“db”组件的配置必须包含“class” 元素。

  1. 在 /var/www/hostings/yiiphp/tools/vendor/yiisoft/yii2/di/ServiceLocator.php 中

.....

我找不到相关信息来解决此问题。我做错了什么?

【问题讨论】:

  • 显示ServiceLocator.php

标签: php elasticsearch yii2


【解决方案1】:

文件./config/db.php 应包含在主配置文件中,在您的情况下名为web(您似乎正在使用基本应用程序模板) 换句话说 - 查看文件 ./config/web.php 然后找到该行: 'db' =&gt; ... 并将其替换为 'db' =&gt; require(__DIR__ . '/db.php'), 最后,你的db.php 应该是这样的:

<?php
return [
    'class' => 'yii\elasticsearch\Connection',
    'user' => 'admin',
    'password' => 'admin',
    'nodes' => [ ['http_address' => '127.0.0.1:9200'] ]
];

我也觉得奇怪,你想使用elastic 组件作为数据库组件,但这当然取决于你。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-07-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多