您当前的位置: 首页 > 慢生活 > 程序人生 网站首页程序人生
workerman常用组件-MySQL组件-workerman之使用Workerman-MySQL
发布时间:2021-12-21 22:12:24编辑:雪饮阅读()
上集中咱們完成了workerman/Mysql組件的安裝。
那麽接下來就是使用了
注意
强烈建议在onWorkerStart回调中初始化数据库连接,避免在Worker::runAll();运行前就初始化连接,在Worker::runAll();运行前初始化的连接属于主进程,子进程会继承这个连接,主进程和子进程共用相同的数据库连接会导致错误。
實例如:
<?php
use Workerman\Worker;
use Workerman\Connection\TcpConnection;
require_once __DIR__ . '/vendor/autoload.php';
$worker = new Worker('websocket://0.0.0.0:8484');
$worker->onWorkerStart = function($worker)
{
// 将db实例存储在全局变量中(也可以存储在某类的静态成员中)
global $db;
$db = new \Workerman\MySQL\Connection('127.0.0.1', '3306', 'xy', 'xy', 'workerman');
};
$worker->onMessage = function(TcpConnection $connection, $data)
{
// 通过全局变量获得db实例
global $db;
// 执行SQL
$all_tables = $db->query('show tables');
$connection->send(json_encode($all_tables));
};
// 运行worker
Worker::runAll();
實例運行:
[root@localhost www.fpm.com]# /usr/local/php734/bin/php channelServer.php start
Workerman[channelServer.php] start in DEBUG mode
------------------------------------------- WORKERMAN --------------------------------------------
Workerman version:4.0.22 PHP version:7.3.4
-------------------------------------------- WORKERS ---------------------------------------------
proto user worker listen processes status
tcp root none websocket://0.0.0.0:8484 1 [OK]
--------------------------------------------------------------------------------------------------
Press Ctrl+C to stop. Start success.
客戶端脚本:
<!doctype html>
<html>
<head>
<script>
ws = new WebSocket('ws://192.168.43.170:8484');
ws.onmessage = function(data){console.log(data.data)};
ws.onopen = function() {
ws.send('{"cmd":"add_group", "group_id":"123"}');
ws.send('{"cmd":"send_to_group", "group_id":"123", "message":"这个是消息"}');
};
</script>
</head>
<body></body>
</html>
客戶端訪問后的效果如:
关键字词:workerman,MySQL,组件
上一篇:workerman常用组件-MySQL组件-workerman之安装 Workerman-MySQL
下一篇:workerman常用组件-MySQL组件-workerman之使用Workerman-MySQL - 具体MySQL的Connection用法-獲取所有數據
相关文章
- workerman常用组件-MySQL组件-workerman之安装 Worker
- workerman常用组件-MySQL组件-workerman之mysql-pdo_m
- workerman常用组件-FileMonitor文件监控组件
- workerman常用组件-channel分佈式通訊組件-channelCli
- workerman常用组件-channel分佈式通訊組件-channelCli
- workerman常用组件-channel分佈式通訊組件-channelCli
- workerman常用组件-channel分佈式通訊組件-channelCli
- workerman常用组件-channel分佈式通訊組件-channelCli
- workerman常用组件-channel分佈式通訊組件-channelSer
- workerman常用组件-channel分佈式通訊組件