最近新开微服务项目,项目选型用到hyperf 框架。在使用hyperf 框架过程中,因电脑系统是windows10 只能在docker环境运行。但是每次通过启动 hyperf 框架都需要等待好长时间1,2分钟吧,有时候甚至更长时间,感觉太痛苦了,根本没有办法去码代码。通过在网上查阅资料,找到有效的解决方案,可以极大提高 hyperf 启动相应速度,缩短等待时间,现在分享给大家,具体的方法是在windows安装lunix子系统,裸装hyperf项目环境。一起看一下吧!
按 win+R,输入 winver 命令,出现系统版本号信息 安装子系统需版本号 14316 以上,如果低于的话,去更新下windows 版本 Windows10易升 更新即可 更新有风险建议对重要数据进行备份。
安装子系统前需设置开发人员模式
开始 ——–设置 ——–更新和安全 ——- 开发者选项 —— 开发人员模式,出来确认对话框时选 是 。
启用适用于 Linux 的 windows 子系统设置
点左上角回到设置页面,选择:应用 ——> 程序和功能 ——> 启用或关闭 windows 功能 ——> 在出来的对话框中选择适用于 Linux 的 windows 子系统
开始菜单 —— Microsoft Store ——- 搜索 Linux—–查找 —–选择 Ubuntu—–安装(下载和安装需要一定时间)- 安装完成后启动即可
打开Microsoft Store提示没有链接insternet (有网的忽略 继续下步),别急看下这个https://blog.csdn.net/weixin_40607008/article/details/85055751
系统启动后会先设置用户名和密码,注意:密码在输入过程中不会有任何显示,实际已经输入成功,用过lunix应该都知道哈,输入完成后回车即可
随后设置 root 用户的密码。
然后切换到 root 用户下,升级 apt 执行apt upgrade
到这一步 Linux 已经启用成功了,心想裸装hyperf运行环境 比较麻烦 ,要不用docker,真替们感到幸福,不用去走弯路了,在子系统里运行docker安装hyperf 我已经替你们走完了,一套各种操作,各种疑难杂症。
终于装好了docker,但是没有docker服务端,查询后弄明白了,原来子系统运行的docker 只是安装的使用端,并不能安装服务端,要想运行起来,需要在windows 安装docker for windows 做为服务端给子系统使用,配好运行起来了,装heyperf容器 到最后启动时,因为提供服务的还是windows端的docker 所以项目启动还是原来的一样慢,so 你们就不要在像我一样在折腾一次docker了。心灰意冷,需要安慰,想着都放弃window系统,装个lunix双系统吧!
要不再尝试尝试子系统里祼装hypef运行环境,说试就试,继续造
首先安装一些系统工具 gcc autoconf make
Sudo apt install gcc
Sudo apt install make
......
安装php 版本需求PHP >= 7.2
安装成功 继续安装hyper环境php必须的扩展
Swoole 项目已收录到 PHP 官方扩展库,可以通过 PHP 官方提供的 pecl 命令,一键下载安装 pecl install swoole
sudo apt install php-pear 安装该工具 方便使用pecl 一键安装swoole 。
做好心理准备,不知道是不是所有的子系统安装swoole都比较慢,还是我个例, 仅仅一个swoole扩展装了差不多2小时左右。
编译安装
wget http://pecl.php.net/get/swoole-4.5.9.tgz
tar -zxvf swoole-4.5.9.tgz
phpize 生成./configure文件
./configure
make
make install
安装成功加入swoole.so扩展到php.ini中 查找php.ini位置:php -i |grep php.ini 或者 find /etc -name php.ini
其余扩展一样的方法安装
Php.ini
wget http://pecl.php.net/get/Protobuf
wget http://pecl.php.net/get/Redis
同样步骤安装需要的扩展
查看扩展加载是否成功 php -m
到此马上就要大功造成啦,有点小开心 进入到hyperf 项目目录
启动php bin/hyperf.php start 额,还有个小错误,没关系官方也说了,关闭swoole short_name 就ok了 swoole.use_shortname = 'Off' 加入到php.ini文件即可
在次启动项目 完美! 哈哈,启动速度相比之前dockers for windows 下快多了,可以愉快的码hyperf了!!!
参考:https://learnku.com/articles/45850