• 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

  • 相关阅读:
    Spark参数优化
    Spark性能优化指南
    Durid的特点
    优秀博客地址
    Kylin的特点
    2017/11/20
    堆、栈、静态存储
    arraylist 和 linkedlist 的区别
    青岛项目遇到的问题
    access specifier
  • 原文地址:https://www.cnblogs.com/zqifa/p/13217816.html
Copyright © 2020-2023  润新知