| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> PHP知识库 -> Swoole(一) -> 正文阅读 |
|
[PHP知识库]Swoole(一) |
一、简介Swoole:是一个使用 C++ 语言编写的基于异步事件驱动和协程的并行网络通信引擎,为 PHP 提供协程、高性能网络编程支持。提供了多种通信协议的网络服务器和客户端模块,可以方便快速的实现 TCP/UDP服务、高性能Web、WebSocket服务、物联网、实时通讯、游戏、微服务等,使 PHP 不再局限于传统的 Web 领域,Swoole是PHP一个扩展的形式 Swoole可以使 PHP开发人员编写高性能的异步并发 TCP、UDP、Unix Socket、HTTP,WebSocket 服务 Swoole 可以广泛应用于互联网、移动通信、企业软件、云计算、网络游戏、物联网(IOT)、车联网、智能家居等领域 使用 PHP + Swoole 可以使企业 IT 研发团队的效率大大提升,更加专注于开发创新产品 swoole应用场景 用户案例 https://wiki.swoole.com/wiki/page/p-case.html 二、下载安装swoole是一个PHP的扩展,所以安装的方式和安装其它的PHP扩展的方式一样。swoole不支持windows安装,没有windows扩展,仅支持linux系统或Mac系统、Docker也是可以的 2.1 下载地址Github:https://github.com/swoole/swoole-src/tags php官方扩展库:http://pecl.php.net/package/swoole 开源中国:http://git.oschina.net/swoole/swoole/tags 下载 在linux服务器中新建目录存放下载的源码
2.2 安装依赖环境仅支持Linux,FreeBSD,MacOS,3类操作系统 Linux内核版本2.3.32如centos必须6.6以上 uname -r 查看Linux内核版本 查看CentOS版本 PHP7.0以上版本 php -v gcc4.4以上版本 gcc --version 如果版本较低使用下面的命令进行安装即可
cmake2.4以上版本 cmake --version 如果你的云服务器上没有cmake,安装即可
2.3 安装swoole
解压 切入安装目录查看 检查一下php开发包是否安装(安装php的扩展一定要先安装这个软件包) 使用yum search php | grep dev 查找 如果没找到使用命令安装即可
初始化 配置安装和环境检查 which php-config??
指定后如果产生下述错误 重新安装一下dev yum install -y php72w-devel.x86_64 再次执行./configure --with-php-config=/usr/bin/php-config 安装即为正常 编译安装
linux中php扩展文件的后缀名为:?xxxx.so 看到此文件存在表示安装扩展成功 ??用命令查看扩展是否安装成功 修改配置文件 注:因为服务器用的yum安装的PHP 检查扩展是否生效 如果感觉上述安装较为复杂,可以使用宝塔面板实现一键安装 三、快速起步3.1 进程管理swoole是一个多进程,多线程的服务 master主进程负责创建多个线程来接受和返回用户请求,同时生成一个manager进程,manager进程负责生成和管理N多个worker和task进程,worker和task进程是负责干活的 3.2 环境准备使用ftp或sftp上传源代码,使用phpstorm提供ftp来直接保存即上传代码 配置phpstorm支持ftp上传 设置保存就上传 让phpstorm更好的支持swoole开发 下载:https://github.com/wudi/swoole-ide-helper 放到项目根目录下面就可以了 3.3 创建TCP服务器查看端口命令:netstat -tunpl
查看tcp服务端口
设置启动的Worker进程数
可以通过命令查看到worker数的变化
测试使用telnet来进行测试
安装完成后执行 telnet 127.0.0.1 9501 回车进入,按下ctrl+]再次回车,就可以发内容,退出,按ctrl+] 输入 quit 退出 3.4 tcp客户端创建一个php脚本client.php
修改服务器端文件代码:
执行客户端文件:
原生PHP实现tcp客户端
Linux下重新执行服务 windows下执行PHP文件 3.5 rpc参考:https://www.swoft.org/documents/v2/core-components/rpc-server/ rpc服务端 客户端调用 效果 继承到TP框架中 定义服务,引入tp入口文件
客户端调用
|
|
PHP知识库 最新文章 |
Laravel 下实现 Google 2fa 验证 |
UUCTF WP |
DASCTF10月 web |
XAMPP任意命令执行提升权限漏洞(CVE-2020- |
[GYCTF2020]Easyphp |
iwebsec靶场 代码执行关卡通关笔记 |
多个线程同步执行,多个线程依次执行,多个 |
php 没事记录下常用方法 (TP5.1) |
php之jwt |
2021-09-18 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/15 1:39:36- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |