找不到接口“ Ratchet \ MessageComponentInterface”

问题描述

这是我的控制者:

<?PHP
defined('BASEPATH') or exit('No direct script access allowed');

class Homepage extends CI_Controller
{
    public function index()
    {
        // Load package path
        $this->load->add_package_path(FCPATH . 'vendor/takielias/codeigniter-websocket');
        $this->load->library('Codeigniter_websocket');
        $this->load->remove_package_path(FCPATH . 'vendor/takielias/codeigniter-websocket');

        // Run server
        $this->codeigniter_websocket->set_callback('auth',array($this,'_auth'));
        $this->codeigniter_websocket->set_callback('event','_event'));
        $this->codeigniter_websocket->run();
    }
}

这是我收到的完整错误

An uncaught Exception was encountered
Type: Error

Message: Interface 'Ratchet\MessageComponentInterface' not found

Filename: vendor\takielias\codeigniter-websocket\libraries\Codeigniter_websocket.PHP

Line Number: 190

Backtrace:

File: application\controllers\youtube.PHP
Line: 10
Function: library

File: index.PHP
Line: 315
Function: require_once

我在composer.json中得到了这个

"require": {
        "takielias/codeigniter-websocket": "^1.0","PHP": ">=5.3.7"
    },

它已经与composer install一起安装。那为什么不起作用?

this question的答案没有帮助,并且没有选择最佳答案,因此我认为提问者没有解决他们的问题。

一个答案是:

在定义命名空间之后立即添加以下代码段:

require dirname(__DIR__) . '/vendor/autoload.PHP';

但是我还没有定义任何名称空间,所以我不知道这有什么用。

一个答案是说要将此内容添加composer.json

"autoload": {
        "psr-4": {
            "MyApp\\": "src"
        }
    },

但是我没有名为MyApp文件夹(我有一个文件application),我不知道psr-4是什么意思。同样,答案似乎并没有帮助,或者假设我比我知道的更多。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...