项目介绍: 使用workerman作为yii2的一个扩展插件,将workerman代码放在verdor目录下 在web目录下放入start.php

<?php
defined(‘YII_DEBUG’) or define(‘YII_DEBUG’, true);
defined(‘YII_ENV’) or define(‘YII_ENV’, ‘dev’);

require(__DIR__ . ‘/../../vendor/autoload.php’);
require(__DIR__ . ‘/../../vendor/yiisoft/yii2/Yii.php’);
require(__DIR__ . ‘/../../common/config/bootstrap.php’);
require(__DIR__ . ‘/../config/bootstrap.php’);
require(__DIR__ . ‘/../../vendor/workerman/Autoloader.php’);
require_once(‘../../vendor/protocolbuf/message/pb_message.php’);

require_once(‘../protos/pb_proto_myerror.php’);
require_once (‘../protos/pb_proto_version.php’);
$config = yii\helpers\ArrayHelper::merge(
require(__DIR__ . ‘/../../common/config/main.php’),
require(__DIR__ . ‘/../../common/config/main-local.php’),
require(__DIR__ . ‘/../config/main.php’),
require(__DIR__ . ‘/../config/main-local.php’)
);

$application = new yii\web\Application($config);

use Workerman\Worker;

$tcp_worker = new Worker(“tcp://0.0.0.0:1234”);

// 启动4个进程对外提供服务
$tcp_worker->count = 4;
$tcp_worker->onConnect = function($connection){
global $text_worker, $global_uid;
// 为这个链接分配一个uid
$connection->uid = ++$global_uid;
echo $connection->uid.” login\n”;
};
// 当客户端发来数据时
$tcp_worker->onMessage = function($connection, $data)
{
…………….

错误原因: 长时间没有连接,第二天接入时会报以下错误 SQLSTATE[HY000]: General error: 2006 MySQL server has gone away 进入mysql:

show global variables like ‘wait_timeout’;

set global wait_timeout=30*24*3600;