EasySwoole 是一款基于 Swoole Server 开发的常驻内存型的分布式 PHP 框架,专为 API 而生,摆脱传统 PHP 运行模式在进程唤起和文件加载上带来的性能损失。 EasySwoole 高度封装了 Swoole Server 而依旧维持 Swoole Server 原有特性,支持同时混合监听 HTTP、自定义 TCP、UDP 协议,让开发者以最低的学习成本和精力编写出多进程、可异步、高可用的应用服务。
EasySwoole 从最早的前身 EasyPHP-Swoole,到更名为 EasySwoole,再到现如今的 EasySwoole 3.x 版本,多年时间在众多社区小伙伴的共同努力下,EasySwoole 的稳定与可靠已经经历了非常多的大企业检验。
特性
- 强大的 TCP/UDP Server 框架,多线程,EventLoop,事件驱动,异步,Worker 进程组,Task 异步任务,毫秒定时器,SSL/TLS 隧道加密
- EventLoop API,让用户可以直接操作底层的事件循环,将 Socket、Stream、管道等 Linux 文件加入到事件循环中
- 定时器、协程对象池、HTTP/SOCKET 控制器、分布式微服务、RPC 支持
优势
- 简单易用开发效率高
- 并发百万 TCP 连接
- TCP/UDP/UnixSocket
- 支持异步/同步/协程
- 支持多进程/多线程
- CPU 亲和性/守护进程
安装 Swoole
下载首先进入 Swoole 的 Github
下载地址: https://github.com/swoole/swoole-src/releases
如果没有特殊需求,请选择最新稳定版本开始下载(我这里是稳定版v4.4.23):
过程如图:
代码:
代码语言:javascript复制wget https://github.com/swoole/swoole-src/archive/v4.4.23.tar.gz
tar -zvxf v4.4.23.tar.gz
cd swoole-src-4.4.23/
进去php安装所在的路径(宝塔默认路径):
代码语言:javascript复制/www/server/php/73/bin/phpize
注意:需要选择 php 对应版本的 phpize,这里使用的是绝对路径,否则编译安装无法生效。
创建编译文件,第一个 --with,后面是 php-config 的所在路径(这个路径一般和 php 在同一个目录) /usr/local/php-7.2.2/bin/php-config,第二个 --enable,是开启 Swoole 的 ssl 功能,第三个 --enable(可选参数),是开启 Swoole 支持 http2 相关的功能:
代码语言:javascript复制./configure --with-php-config=/www/server/php/73/bin/php-config --enable-openssl --enable-http2
编译 Swoole 并把编译好的文件移动到 php 的扩展目录(前面的配置 php 版本的扩展目录) 需要root权限:
代码语言:javascript复制sudo make && make install
这个时候已经安装成功,需要修改 php 配置文件 php.ini,在最后面增加如下内容:
成功安装 Swoole 之后,通过 php --ri swoole 查看 Swoole 扩展 的信息:
代码语言:javascript复制php --ri swoole
接下来安装Composer:
代码语言:javascript复制curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
使用网站管理自带的“Composer”去执行命令:
代码语言:javascript复制tencentcloud/tencentcloud-sdk-php
注意选择执行参数“require”,执行目录根据实际情况而定,我是新建的目录。
执行会新窗口中弹出,等待执行完毕关闭新窗口,打开刚刚执行的网站目录,如图自动生成“vendor”文件目录:
将Composer切换到云镜像源:
代码语言:javascript复制composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
进去刚刚执行Composer文件的目录下:
代码语言:javascript复制cd /www/wwwroot/easyswoole
composer require easyswoole/easyswoole=3.5.x
php vendor/easyswoole/easyswoole/bin/easyswoole install
部分php会默认禁用一些函数,例如:
我们需要就得启用这几个php函数“putenv”,“symlink”,“readlink”和“proc_open”,打开php管理,找到“禁用函数”将对应的函数从列表中删除即可:
再次执行安装命令,会有安装完成页面:
最后安装 IDE 代码提示组件
代码语言:javascript复制composer require easyswoole/swoole-ide-helper
安装完成后直接启动框架 :
代码语言:javascript复制php easyswoole server start
此时可以访问 http://localhost:9501 就看到框架的欢迎页面,表示框架已经安装成功。
另外附上停止、重启和启动命令:
启动:
代码语言:javascript复制php easyswoole server start -d
停止:
代码语言:javascript复制php easyswoole server stop
重启:
代码语言:javascript复制php easyswoole server restart
好了,结束,每次修改文件都得需要重启才能显示。
好了记录结束,说实在的,我看不懂这些都是啥,反正功能插件是安装完成,端口配置也开通了,本地访问端口9501没有问题,我能做的就是这样了,但是总感觉有点奇怪啊按理说宝塔貌似默认就安装了Composer,因为在网站的站点设置中就有这个选择,我不知道是不是重复安装了,有点乱,哎技术不够,步骤来凑,完事了,其他网友可以忽略此文,不是教程也不是技术文章仅仅是本地安装测试使用,防止后期找不到,也拍以后再次安装时不会,所以仅仅作为记录。