php - YII2 Elasticsearch数据库配置

标签 php elasticsearch yii2

我已经在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
        ],
    ],
]
   ];

此配置无法正常工作,下面是错误的第一行。

Invalid Configuration – yii\base\InvalidConfigException

The configuration for the "db" component must contain a "class" element.

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


.....

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

最佳答案

文件./config/db.php应该包含在主配置文件中,在您的情况下,文件名为web(似乎您正在使用基本应用模板)
换句话说-查看文件./config/web.php然后找到以下行:'db' => ...并将其替换为'db' => 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组件用作数据库组件,这对我来说似乎很奇怪,但是,这取决于您。

关于php - YII2 Elasticsearch数据库配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32728406/

相关文章:

yii2 - 登录后 main.php 上的 Yii::$app->user->isGuest 始终为 true

php - 电子邮件总是进入垃圾邮件文件夹

search - 使用其他查询的结果在Elasticsearch中修改相关性得分

elasticsearch - Elasticsearch 插件可以有多个 Module 功能吗

Elasticsearch:更新索引分析器后,索引需要重新索引吗?

validation - 如何在事件记录 yii2 中使用唯一规则

PHP/MySQL : How to create/access one database connection within objects?

php - PDO 使用外键创建表

javascript - 如何将变量从 jquery ajax 传递到 php mvc

php - 如何从 Ubuntu CLI 运行 Yii 控制台应用程序?