一,简介
1.1,什么是hyperf?
Hyperf 基于 Swoole 4.5+ 实现的高性能、高灵活性的 PHP 协程框架,内置协程服务器及大量常用的组件,性能较传统基于 PHP-FPM 的框架有质的提升,提供超高性能的同时,也保持着极其灵活的可扩展性,标准组件均基于 PSR 标准 实现,基于强大的依赖注入设计,保证了绝大部分组件或类都是 可替换 与 可复用 的。
框架组件库除了常见的协程版的 MySQL 客户端、Redis 客户端,还为您准备了协程版的 Eloquent ORM、WebSocket 服务端及客户端、JSON RPC 服务端及客户端、GRPC 服务端及客户端、Zipkin/Jaeger (OpenTracing) 客户端、Guzzle HTTP 客户端、Elasticsearch 客户端、Consul 客户端、ETCD 客户端、AMQP 组件、Apollo 配置中心、阿里云 ACM 应用配置管理、ETCD 配置中心、基于令牌桶算法的限流器、通用连接池、熔断器、Swagger 文档生成、Swoole Tracker、视图引擎、Snowflake 全局 ID 生成器 等组件,省去了自己实现对应协程版本的麻烦。
Hyperf 还提供了 基于 PSR-11 的依赖注入容器、注解、AOP 面向切面编程、基于 PSR-15 的中间件、自定义进程、基于 PSR-14 的事件管理器、Redis/RabbitMQ 消息队列、自动模型缓存、基于 PSR-16 的缓存、Crontab 秒级定时任务、国际化、Validation 表单验证器 等非常便捷的功能,满足丰富的技术场景和业务场景,开箱即用。
二,安装
2.1,swoole安装
2.2,hyperf安装
2.3,Hello hyperf
三,常见问题
环境: centos7
php 7.3
一,下载安装包
进入官网
http://git.oschina.net/swoole/swoole点击这里
这里可以看到最新版本 是4.4.15 我们下载一个tar.gz文件 右键 复制链接
输入命令
wget https://gitee.com/swoole/swoole/repository/archive/v4.4.15?format=tar.gz
下载成功
解压
tar -zxvf v4.4.15\?format\=tar.gz
二,安装
编译安装有几个条件
第一,要找到swoole的config文件
第二,make
第三,make install
(1) phpsize 生成 swoole的config文件
swoole的源码包中是没有config文件的 这里我们就要用phpize(phpize是扩展PHP扩展文件的) 生成一个
那么phpsize在哪里呢 ,这里贴出一张图,可对应寻找
而后 我们回到swoole目录中 执行命令
phpize
然后进行编译 需要去找PHP的config
./configure --with-php-config=/www/server/php/73/bin/php-config
然后 依次输入
make
make install
make
make install
make install后 出现
Installing shared extensions: /www/server/php/73/lib/php/extensions/no-debug-non-zts-20180731/
Installing header files: /www/server/php/73/include/php/
我们CD到这目录 可以看到 swoole.so文件 这个是我编译后产生的文件 swoole会自动把他放到这里
现在我们回到swoole文件夹中
examples目录里 是swoole官方的一个示范文件,我们进入
/www/wwwroot/swoole/examples/server
我们现在运行一下 echo.php文件
这里产生一个报错 这是因为我们没有在php.ini文件中开启扩展
找到*/www/server/php/73/etc* 下的 php.ini文件并编辑,开启swoole扩展
//编辑文件
vim php.ini
//根据关键字查找
/extension
//添加到 下方
extension=swoole
extension=swoole
swoole.use_shortname='off'
输入
php -m
或
php --ri swoole
swoole扩展已经开启
hyperf安装
安装
composer create-project hyperf/hyperf-skeleton
开启服务
php bin/hyperf.php start