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

composer require workerman/workerman-for-win


composer require topthink/ think-worker v1.0.1 

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

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

// 加载框架引导文件

require__DIR__.'/thinkphp/start.php';

然后新增worker文件

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框不能弹出来

你可能感兴趣的:(2019-11-20 TP5自己的项目整合workman时遇到的坑(windows))