zoukankan      html  css  js  c++  java
  • thinkphp5.0报错Class 'thinkworkerServer' not found问题解决


    环境
    win7
    thinkphp 5.0
    think-worker 1.0.*

    今天在thinkphp 5.0上使用workman

    参照官网教程步骤如下

    安装think-worker 1.0.*版本

    composer require topthink/think-worker 1.0.*

    使用方法
    首先创建控制器类并继承 thinkworkerServer,然后设置属性和添加回调方法,支持workerman所有的回调方法定义(回调方法必须是public类型)

    namespace appindexcontroller;
    
    use thinkworkerServer;
    
    class Worker extends Server
    {
        protected $socket = 'http://0.0.0.0:2346';
    
        public function onMessage($connection,$data)
        {
            $connection->send(json_encode($data));
        }
    }

    在应用根目录增加入口文件 server.php

    #!/usr/bin/env php
    <?php
    define('APP_PATH', __DIR__ . '/application/');
    
    define('BIND_MODULE','index/Worker');
    
    // 加载框架引导文件
    require __DIR__ . '/thinkphp/start.php';

    在命令行启动服务端

    php server.php start

    linux下面可以支持下面指令

    php server.php start|stop|status|restart|reload

    执行php server.php start后报错

    [thinkexceptionErrorException]
    Class 'thinkworkerServer' not found

    找了一些资料,说的是composer问题、大小写问题等等,都没有解决

    报错原因分析:没有加载到类thinkworkerServer

    解决办法:

    既然没有加载到这个类,那我加载一下不就行了,修改server.php

    server.php文件代码:

    #!/usr/bin/env php
    <?php
    define('APP_PATH', __DIR__ . '/application/');
    
    define('BIND_MODULE','index/Worker');
    
    //加载composer autoload文件
    require __DIR__ . '/vendor/autoload.php';
    
    // 加载框架引导文件
    require __DIR__ . '/thinkphp/start.php';

    保存后,执行php server.php start,出现如下内容:

    ----------------------- WORKERMAN -----------------------------
    Workerman version:3.5.30          PHP version:5.6.9
    ------------------------ WORKERS -------------------------------
    worker               listen                              processes status
    none                 http://0.0.0.0:2346                 4         [ok]

    成功开启websocket服务,问题解决。

    参考文档:
    1.think-worker 1.0官网使用教程
    https://github.com/top-think/think-worker/tree/v1.0.1

  • 相关阅读:
    Android中ProgressDialog的应用
    Content的startActivity方法需添加FLAG_ACTIVITY_NEW_TASK flag
    android onKeydown
    8 个最优秀的 Android Studio 插件
    Android 异步加载图片,使用LruCache和SD卡或手机缓存,效果非常的流畅
    Android提供的LruCache类简介
    Android设计中的.9.png与Android Studio中的设置
    js实现双击后网页自己主动跑-------Day55
    Oracle经常使用函数
    《R实战》读书笔记三
  • 原文地址:https://www.cnblogs.com/zqifa/p/13217816.html
Copyright © 2011-2022 走看看