workerman本地快速入门,环境变量的配置和命令行聊天

不多介绍了,workerman搭建走起,去下载一个phpstudy,然后安装,这一步自己百度或者看我这篇,不是重点

image

就目前的情况来看,我们将phpstudy放在e:/php/目录下边

image

这里打开phpstudy,切换版本,尽量切5.4以上,我在这里切5.4

在E:\php\phpstudy\php目录下可以看到不同的php版本

image

点进去5.4看,有一个php.exe,后续的工作基本上就是对这个目录进行操作了

image

php切换完了,需要配置环境变量,因为是测试,所以待会儿workerman待会要用命令行启动,在真实的线上可以使用一个init.php或者start.php去写一个脚本启动,只要运行这个页面就可以启动workerman,那么现在,计算机=>属性

image

高级系统设置=>环境变量

image

再path里面,在最后加分号,然后加入之前看到的php.exe所在环境目录

image

如图所示,加完之后加分号,然后确定保存

image

在命令行环境中输入php -v出现版本信息即配置成功,别问我命令行环境怎么出来的(实际我用的5.6文章里头写错了,懒得改了,大家将就吧

第二阶段 workerman的运行

workerman下载地址,请移步官网

http://www.workerman.net/download

下载第一个就行,官网下载zip,解压

解压文件夹改成workerman

然后再文件夹外边也就是和workerman同级目录,创建一个test001.php

代码如下,不要去理解他的意思,先复制

use Workerman\Worker;

require_once '/workerman/Autoloader.php';

$global_uid = 0;

// 当客户端连上来时分配uid,并保存连接,并通知所有客户端

function handle_connection($connection)

{

global $text_worker, $global_uid;

// 为这个链接分配一个uid

$connection->uid = ++$global_uid;

}

// 当客户端发送消息过来时,转发给所有人

function handle_message($connection, $data)

{

global $text_worker;

foreach($text_worker->connections as $conn)

{

$conn->send("user[{$connection->uid}] said: $data");

}

}

// 当客户端断开时,广播给所有客户端

function handle_close($connection)

{

global $text_worker;

foreach($text_worker->connections as $conn)

{

$conn->send("user[{$connection->uid}] logout");

}

}

// 创建一个文本协议的Worker监听2347接口

$text_worker = new Worker("text://0.0.0.0:2347");

// 只启动1个进程,这样方便客户端之间传输数据

$text_worker->count = 1;

$text_worker->onConnect = 'handle_connection';

$text_worker->onMessage = 'handle_message';

$text_worker->onClose = 'handle_close';

Worker::runAll();

这是官方文档的例子

保存,不管去命令行,运行命令行(第一个窗口),去到test001.php所在目录然后运行

pushd E:\php

php test001.php

运行之后发现服务启动了

----------------------- WORKERMAN -----------------------------

Workerman version:3.4.6 PHP version:5.6.27

------------------------ WORKERS -------------------------------

worker listen processes status

none text://0.0.0.0:2347 1 [OK]

----------------------------------------------------------------

我们再开一个命令行窗口(第二个窗口)运行

telnet 127.0.0.1 2347

发现连接到了一个奇怪的页面,在里面输入会有奇怪的回显,别着急

我们再开一个命令行窗口(第三个窗口)运行

telnet 127.0.0.1 2347

再二和三窗口输入字符,发现各自输入的字符居然可以互相看到,其实这就是一个聊天窗口通讯的例子了,至此,测试结束,入门也结束,至于test001.php代码到底再写什么

workman php 安装,windows 安装workman本地快速入门相关推荐

  1. numpy安装_Python进阶之NumPy快速入门(一)

    前言 NumPy是Python的一个扩展库,负责数组和矩阵运行.相较于传统Python,NumPy运行效率高,速度快,是利用Python处理数据必不可少的工具. 这个NumPy快速入门系列分为四篇,包 ...

  2. git语言包安装_Git分布式版本管理系统快速入门指南

    为什么要使用版本管理系统 无论有没有使用过专业化工具,每个人都或多或少地有版本管理的需求.我们在做论文.写报告或者设计方案时,因为难以避免的不断改动,总会形成很多个不同的版本,我们可能会用" ...

  3. 服务器虚拟驱动安装,安装GRID驱动_Windows驱动安装_GRID驱动安装_安装NVIDIA驱动指引_快速入门_GPU云服务器-网宿科技...

    安装GRID驱动 GPU云服务器在安装驱动后,云服务器的主显卡被替换为GPU卡,用户无法通过控制台的远程连接访问云服务器,需要通过云服务器自身的Windows RDP协议连接(如远程桌面),通过RDP ...

  4. Windows Embedded Standard 7 快速入门指南 1 of 4

    详细pdf下载地址:https://download.csdn.net/download/mao0514/15477556 第一章 概述 1.1 Windows Embedded Standard 7 ...

  5. 安装了email模块还是报错_Git windows安装及使用教程

    设置ssh秘钥 git仓库 基本信息设置 创建分支并上传 github重命名分支 切换分支并上传 其他命令 上传文件报错 Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目 G ...

  6. 使用 U 盘启动盘安装 Windows 7 旗舰版系统

    使用 U 盘启动盘安装 Windows 7 旗舰版系统 电脑型号:技嘉 GA-MA770-US3 台式机 处理器:AMD Athlon(tm) 7750 Dual-Core Processor 内存容 ...

  7. 安装 XXX 时出现错误 无法访问windows安装服务。发生这种情况的可能是您在安全模式下运行windows

    安装 XXX 时出现错误 无法访问windows安装服务.发生这种情况的可能是您在安全模式下运行windows,或是没有正确安装windows安装,.请与技术支持人员联系以获得帮助. Windows ...

  8. Windows安装Python-docx三方库(保姆级教程)

    Windows安装Python-docx三方库 文章目录 Windows安装Python-docx三方库 前言 下面是离线安装python-docx库 一.下载python-docx库 二.安装doc ...

  9. 60分钟快速入门PyTorch

    点击上方"算法猿的成长",关注公众号,选择加"星标"或"置顶" 总第 136 篇文章,本文大约 26000 字,阅读大约需要 60 分钟 P ...

  10. PyQt5快速入门教程3-QtDesigner设计第一个界面

    PyQt5快速入门教程3-QtDesigner设计第一个界面 1.开发环境清单 基本环境如下: Windows 10 Python 3.7 PyCharm 2019.3.3 x64 PyQt5相关的库 ...

最新文章

  1. socket编程之二:两种链接类型tcp和udp
  2. Springboot 2.返回cookies信息的get接口开发 和 带cookis去请求
  3. pyhon取文件md5值
  4. 【风控建模】互联网金融-机器学习及评分卡构建
  5. php提交注册表单,php用户注册表单验证
  6. 选数游戏(ybtoj-二叉堆)
  7. 视频监控系统中的平台服务器,【视频监控主机 网络视频集中管理平台服务器】 - 太平洋安防网...
  8. jsp中redirect和forward的区别
  9. JavaScript函数之实际参数对象(arguments) / callee属性 / caller属性 / 递归调用 / 获取函数名称的方法...
  10. mysql dsec_MySQL基础(一)查询
  11. php图片存储内容读取,php读取和保存base64编码的图片内容
  12. 深度学习2.0-15.随机梯度下降之梯度下降简介
  13. 使用C语言读写xlsx文件
  14. Mac 顶部栏显示路径
  15. eviews建立时间序列模型_如何用eviews分析时间序列(全面).pdf
  16. Windbg双机调试配置
  17. 怎么进b站up主的粉丝群
  18. 带你一起撸一遍 nodejs 常用核心模块(一)
  19. PS自用(抠图、调色)
  20. ASP.NET项目创建

热门文章

  1. python日常实用技能:如何用Python将图片批量从png格式转换至WebP格式
  2. 小鸡腿U R III 杭州2013
  3. CSS第三章:10.调整字体:字体加粗;(持续更新)
  4. 三种数据流分析的方程、用途
  5. 本悟法师:信仰,让孤独走开
  6. QIIME 2教程. 05粪菌移植分析练习Fecal microbiota transplant(2021.2)
  7. 【python】类型约束(类型提示的作用)
  8. mysql查询排名名次
  9. 静态分析android程序之阅读smali代码
  10. Student‘s t分布