¡Continúe creando, acelere el crecimiento! Este es el 5to día de mi participación en el "Nuggets Daily New Plan · October Update Challenge", haz clic para ver los detalles del evento
Cómo usar workerman en el marco Thinkphp5.0, este manual oficial también brinda ejemplos
Vaya a " Manual oficial de thinkphp5.0 "
Sin embargo, creo que el ejemplo que dio puede no ser muy detallado. Si no lo lee a menudo, es posible que no lo entienda. Probablemente lo agregaré aquí y escribiré un ejemplo gráfico:
1 : Agregar archivo Worker.php
Nota: este archivo es en realidad el controlador que usa habitualmente, por lo que la ubicación de la adición depende de su preferencia personal, siempre que pueda acceder a él. Lo agregué a application/api/controller aquí, como se muestra en la siguiente figura:
El contenido es el siguiente:
<?php
/**
* auther:camellia
* date:20200815
* email:805795955@qq.com
*/
namespace app\api\controller;
use think\Controller;
use think\Request;//使用request对象
use think\Db;//引入数据库操作类
use think\Session; //使用session驱动
use think\worker\Server;
class Worker extends Server
{
protected $socket = 'websocket://127.0.0.1:8082';
/**
* 收到信息
* @param $connection
* @param $data
*/
public function onMessage($connection, $data)
{
$connection->send('我收到你的信息了');
}
/**
* 当连接建立时触发的回调函数
* @param $connection
*/
public function onConnect($connection)
{
}
/**
* 当连接断开时触发的回调函数
* @param $connection
*/
public function onClose($connection)
{
}
/**
* 当客户端的连接上发生错误时触发
* @param $connection
* @param $code
* @param $msg
*/
public function onError($connection, $code, $msg)
{
echo "error $code $msg\n";
}
/**
* 每个进程启动
* @param $worker
*/
public function onWorkerStart($worker)
{
}
}
复制代码
2 : agregue el archivo de inicio worker.php en el directorio raíz del proyecto (nota: cargue el archivo de arranque del marco)
La ubicación de ubicación del archivo es como se muestra a continuación:
El contenido es el siguiente:
#!/usr/bin/env php
<?php
define('APP_PATH', __DIR__ . '/application/');
define('BIND_MODULE', 'api/Worker');
// 加载框架引导文件
require __DIR__ . '/thinkphp/start.php';
复制代码
Tres: Inicie el servicio de trabajador.
Línea de comando para ingresar al directorio donde se encuentra server.php
implementar:
php server.php start #注意大小写,注意启动文件的名称是否是server.php
复制代码
La ejecución es exitosa como se muestra en la siguiente figura:
La siguiente es una lista general de comandos comunes para workerman:
php worker.php status #可以查看当前进程和服务器运行状态
php worker.php connections #可以查看当前连接状态
php worker.php reload #平滑重启服务器(用户不掉线)
php worker.php restart #强制重启服务器(所有用户都会掉线)
php worker.php stop #停止服务器
php worker.php start #以调试方式启动服务器(debug状态,log将直接打印到终端)
php worker.php start -d #以守护进程方式启动服务器(产品状态,log将被写入文件)
复制代码
Para obtener más información, consulte el " Manual oficial de Workerman "
Si tiene una buena sugerencia, ingrese su comentario a continuación.
Bienvenidos al blog personal guanchao.site
Bienvenido a mi subprograma: abra WeChat -> descubrimiento -> subprograma -> busque "a tiempo"