推荐(免费):Swoole
概述
我们都知道HTTP是一种协议,允许WEB服务器和浏览器通过互联网进行发送和接受数据。
想对HTTP进行详细的了解,可以找下其他文章,这篇文章不多做介绍。
我们在网上能看到的界面,图片,动画,音频,视频等,都有依赖这个协议的。
在做WEB系统的时候,都使用过IIS,Apache,Nginx吧,我们利用Swoole也可以简单的实现一个WEB服务器。
主要使用了HTTP的两个大对象:Request请求对象,Response响应对象。
请求,包括GET,POST,COOKIE,Header等。
响应,包括状态,响应体,扩展,发送文件等。
不多说,先分享两个程序:
一,实现一个基础的Demo:“你好,Swoole。”
二,实现一个简单的路由控制
本地版本:
PHP 7.2.6
旋风4.3.1
代码
一,Demo:“你好,Swoole。”
示例效果:
备注:IP地址是我的虚拟机。
示例代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
|
二,路由控制
示例效果:
目录结构:
1 2 3 4 5 |
|
示例代码:
server.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 |
|
Index.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
|
Login.php
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
一,Swoole可以替代Nginx吗?
暂时不能,通过Swoole越来越强大,以后说不准。
官方建议Swoole与Nginx结合使用。
Http \ Server对Http协议的支持并不完整,建议仅作为应用服务器。并且在前端增加Nginx作为代理。
根据自己的Nginx配置文件,可以自行调整。
例如:可以添加一个配置文件
enable-swoole-php.conf
1 2 3 4 5 6 7 |
|
我们都习惯于将虚拟域名的配置文件放在vhost文件夹中。
例如,虚拟域名的配置文件为:local.swoole.com.conf,可以选择加载enable-php.conf,也可以选择加载enable-swoole-php.conf。
配置文件供参考:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
|
当前,我们直接编辑server段的代码也是可以的。
二,修改了controller文件夹中的业务代码,每次都是重启服务才生效吗?
不是,每次重启服务可能会影响到正常用户使用的,正常处理的请求会被强制关闭。
在本地运行路由控制的代码时,试试这个命令:
1 |
|
给master进程发送一个USR1的信号,当Swoole Server接收到该信号后,就会让所有worker在处理完当前的请求后,进行重启。
如果查看所有的进程,试试这个命令:
1 |
|
可以试着上传文件,做一个小的FTP服务器。
可以学习Swoole开源框架:EasySwoole,Swoft,One。
可以将Swoole整合到当前正在使用的PHP框架中。
更多相关精品文章敬请关注swoole框架栏目!
以上是介紹 Swoole HTTP的應用的詳細內容。更多資訊請關注PHP中文網其他相關文章!