Hyperf的官方介绍:

Hyperf 是基于 Swoole 4.5+ 实现的高性能、高灵活性的 PHP 协程框架,内置协程服务器及大量常用的组件,性能较传统基于 PHP-FPM 的框架有质的提升,提供超高性能的同时,也保持着极其灵活的可扩展性,标准组件均基于 PSR 标准 实现,基于强大的依赖注入设计,保证了绝大部分组件或类都是 可替换 与 可复用 的。

Hyperf 是命令行Cli模式运行,PHP-FPM模式就是我们常用的模式,其中ThinkPHP,Laravle,Ci等框架都是此种模式,最新版的TP和Laravle也支持了Cli模式!

两种模式最大区别就是:

PHP-FPM是:每次响应请求,都要从入口文件开始初始化框架,经过路由转发到控制器执行得到结果并返回响应!

Cli是:启动框架之后,框架会常驻内存,启动一次他会注册服务到系统,监听我们的web端口(80或者9501等可以自定义端口),然后每次响应请求都不需要在加载框架的文件,直接路由识别到控制器给你执行逻辑代码返回结果!

所以Hyperf框架的性能是远高于TP等传统框架的。一个只需要加载一次,他就一直在楼下等你。一个是你每次找他,他每次加载一次从楼上下来见你。

Hyperf环境要求:

Hyperf仅可运行于 Linux 和 Mac 环境下,也就是说我们的Windos电脑不支持,但是在Windows下可以使用Docker for Windows 来作为运行环境。

运行环境的要求:

PHP >= 7.3

Swoole PHP 扩展 >= 4.5,并关闭了 Short Name

OpenSSL PHP 扩展

JSON PHP 扩展

PDO PHP 扩展 (如需要使用到 MySQL 客户端)

Redis PHP 扩展 (如需要使用到 Redis 客户端)

Protobuf PHP 扩展 (如需要使用到 gRPC 服务端或客户端)

Hyperf的安装:

需要使用composer,如果您的composer是用的是国外镜像,那就非常慢,这里分享一个速度很快的镜像地址:

composer镜像地址

composer config -g repo.packagist composer https://mirrors.aliyun.com/composer

Hyperf的安装composer命令

在安装过程中有一系列的询问,直接回车跳过即可,他都是问你是否安装各种组件,我们都可以跳过,以后需要用什么在根据文档的命令安装即可!

composer create-project hyperf/hyperf-skeleton

至此Hyperf框架就安装结束了,但是这里还有一个坑需要注意,必须关闭swoole的Short Name!

在extension = swoole.so下面加上swoole.use_shortname = off 即可,示例如下:

[swoole]

extension = swoole.so

swoole.use_shortname = off

启动项目:

启动项目需要在框架根目录中找到bin目录,里面有一个 hyperf.php 文件

在框架bin目录下执行命令:

php hyperf.php start

若在框架根目录就需要带bin路径:

php bin/hyperf.php start

由于 Hyperf 是持久化的 CLI 框架,当您修改完您的代码后,通过 CTRL + C 终止当前启动的进程实例,并重新执行 php bin/hyperf.php start 启动命令即可。

端口被占用怎么办?

若是启动过之后,后面在此启动发现端口被占用,那就查询一下端口进程id,杀死进程就可以再次启动!

netstat -tunlp | grep 9501

tcp  0  0 0.0.0.0:9501    0.0.0.0:*   LISTEN 15893/skeleton.Mast

kill 15893

netstat -tunlp | grep 9501 是查询9501端口的进程

kill 15893 是杀死15893进程

框架启动之后测试访问:http://ip:端口

假设服务器Ip是:47.33.112.136

假设端口是:9501

那么访问地址就是:http://47.33.112.136:9501

到此,我们就把框架的安装,启动,访问完成了!

总结:总的来说过程并不难,需要有一台学习的服务器,或者本身是mac电脑,亦或者windows电脑下搭建Docker环境。PHP的要求是大于7.3,建议大家使用PHP7.4吧,运行要求的扩展也都需要一并安装,最后就是要在php.ini中加上swoole.use_shortname = off,否则无法启动框架的!

大家可以自己尝试一下,感兴趣的小伙伴想要获取更多资讯或者教程欢迎关注编程学习网