2019-11-20 TP5自己的项目整合workman时遇到的坑(windows)

composer require workerman/workerman-for-win


composer require topthink/ think-worker v1.0.1 

安装好以后,在项目根目录新建server.php文件

<?phpdefine('APP_PATH',__DIR__.'/application/');

define('BIND_MODULE','push/Worker');

// 加载框架引导文件

require__DIR__.'/thinkphp/start.php';

然后新增worker文件

<?php

namespace app\push\controller;

usethink\worker\Server;

classWorker extends Server 

{

protected $socket='websocket://0.0.0.0:2346';

/**

    * 收到信息

    * @param $connection

    * @param $data

    */

public functionon Message($connection,$data){$connection->send('我收到你的信息了');}

/**

    * 当连接建立时触发的回调函数

    * @param $connection

    */

public functionon Connect($connection){$connection->send('正在连接');}

/**

    * 当连接断开时触发的回调函数

    * @param $connection

    */

public function onClose($connection){$connection->send('连接关闭');$connection->close();}

/**

    * 当客户端的连接上发生错误时触发

    * @param $connection

    * @param $code

    * @param $msg

    */

public functionon Error($connection,$code,$msg){echo"error$code$msg\n";}

/**

    * 每个进程启动

    * @param $worker

    */

public functionon WorkerStart($worker){}}

搞完项目根目录 命令行 php server.php


出现上图代表成功


其中遇到两个坑

1.think-worker v1.0.1 需带上1版本,不然会安装出错

2.整合到自己项目时需关闭 调试模式,后来再网深看,时谁吧TP5的log驱动删除了。导致调试模式下抛出异常致最终WORKERS框不能弹出来

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容