TP5 完整版启动workerman时报错cannot redeclare captcha()

10 篇文章 0 订阅

报错截图

 

1.在public新建文件server.php(名称任意取)代码如下

<?php
/**
 * 启动socket,通过cmd启动
 * Created by IntelliJ IDEA.
 * User: Administrator
 * Date: 2020/4/10
 * Time: 15:07
 */
#!/usr/bin/env php
define('APP_PATH', __DIR__ . '/../application/');
define('BIND_MODULE','socketio/Server/index');
// 加载框架引导文件
require __DIR__ . '/../thinkphp/start.php';

2.在application下创建文件夹socketio,并创建控制器server,方法index代码入下

<?php
/**
 * Created by IntelliJ IDEA.
 * User: Administrator
 * Date: 2020/4/9
 * Time: 11:06
 */
namespace app\socketio\controller;
//require '../vendor/autoload.php';
use think\Controller;
use think\Db;
use think\exception\DbException;
use think\Config;
use Workerman\Worker;
use PHPSocketIO\SocketIO;
class Server extends Controller
{
 public function index()
    {
        // 创建一个Worker监听2346端口,使用websocket协议通讯
        $ws_worker = new Worker("websocket://0.0.0.0:2346");

        // 启动4个进程对外提供服务
        $ws_worker->count = 4;

        // 当收到客户端发来的数据后返回hello $data给客户端
        $ws_worker->onMessage = function($connection, $data)
        {
            // 向客户端发送hello $data
            $connection->send('hello ' . $data);
        };

        // 运行worker
        Worker::runAll();
    }
}

3.打开cmd,cd到public下并运行server.php

4.如下图所示则运行成功

5.出现cannot redeclare captcha()的原因是不需要在控制器server中添加如下代码

require '../vendor/autoload.php';
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值