忍受不了 docker 环境下 hyperf 启动等待时间,教你如何通过 win10 子系统快速运行 hyperf

大家在使用hyperf框架过程中,有没有遇到和我一样的困扰,就是每次通过docker启动hyperf框架都需要等待好几秒钟, 有时候甚至更长时间,通过在网上查阅资料,我找到一种有效的解决方案,可以极大提高hyperf启动相应速度,缩短等待时间,现在分享给大家,如有问题可评论区提问:

一. 开启win10子系统

a.查看系统版本号

按win(键盘窗口键)+R,输入winver命令,出现系统版本号信息,我的系统版本号为18363.836(注: 版本号14316以上)

忍受不了docker环境下hyperf启动等待时间,教你如何通过win10子系统快速运行hyperf

b.安装前系统设置

开始——–设置——–更新和安全——-开发者选项——开发人员模式,出来确认对话框时选择《是》。

忍受不了docker环境下hyperf启动等待时间,教你如何通过win10子系统快速运行hyperf

c.启用适用于Linux的windows子系统设置

点左上角回到设置页面,选择:应用——>程序和功能——>启用或关闭windows功能——>在出来的对话框中选择适用于Linux的windows子系统

设置需要一小会时间。

忍受不了docker环境下hyperf启动等待时间,教你如何通过win10子系统快速运行hyperf

d. 下载Linux系统并安装

开始菜单——打开Microsoft Store——-在搜索框中输入Linux—–查找—–选择Ubuntu—–安装(下载和安装需要一定时间)-安装完成后启动即可

忍受不了docker环境下hyperf启动等待时间,教你如何通过win10子系统快速运行hyperf

忍受不了docker环境下hyperf启动等待时间,教你如何通过win10子系统快速运行hyperf

二. Ubuntu系统的设置

系统启动后会先设置用户名和密码,注意:密码在输入过程中不会有任何显示,实际已经输入成功,输入完成后回车即可
随后设置root用户的密码。最好是:数字及大小写字母组合
然后输入su并输入密码,切换到root用户下,升级apt
到这一步Linux已经启用成功了,后续是设置优化操作步骤

忍受不了docker环境下hyperf启动等待时间,教你如何通过win10子系统快速运行hyperf

忍受不了docker环境下hyperf启动等待时间,教你如何通过win10子系统快速运行hyperf

忍受不了docker环境下hyperf启动等待时间,教你如何通过win10子系统快速运行hyperf

忍受不了docker环境下hyperf启动等待时间,教你如何通过win10子系统快速运行hyperf

忍受不了docker环境下hyperf启动等待时间,教你如何通过win10子系统快速运行hyperf

三. 配置hyperf环境

a. 安装swoole扩展

安装swoole扩展之前先要保证系统已经安装了下列软件

  • php-7.1 或更高版本
  • gcc-4.8 或更高版本
  • make
  • autoconf
    推荐使用的 apt 命令下管理软件包,例如下载php7.4:
    先使用apt search php7.4命令搜索软件包,系统会列出所以php的软件包,找到需要下载的包执行 apt install php7.4(如需root 在指令前面加上sudo)进行安装即可:

忍受不了docker环境下hyperf启动等待时间,教你如何通过win10子系统快速运行hyperf

忍受不了docker环境下hyperf启动等待时间,教你如何通过win10子系统快速运行hyperf
其他的工具均可安装此方法。
Swoole 项目已收录到 PHP 官方扩展库,可以通过 PHP 官方提供的 pecl 命令,一键下载安装

pecl install swoole

忍受不了docker环境下hyperf启动等待时间,教你如何通过win10子系统快速运行hyperf
(因为我电脑已经安装了swoole,所以提示swoole已经安装过了)
添加 Swoole 到 php.ini
最后,编译安装成功后,修改 php.ini 加入
通过 php -m 来查看是否成功加载了 swoole.so,如果没有可能是 php.ini 的路径不对。

忍受不了docker环境下hyperf启动等待时间,教你如何通过win10子系统快速运行hyperf

可以使用 php --ini 来定位到 php.ini 的绝对路径,Loaded Configuration File 一项显示的是加载的 php.ini 文件,如果值为 none 证明根本没加载任何 php.ini 文件,需要自己创建。

b.安装hyperf

Hyperf 使用 Composer 来管理项目的依赖,在使用 Hyperf 之前,请确保你的运行环境已经安装好了 Composer。
hyperf/hyperf-skeleton 项目是我们已经为您准备好的一个骨架项目,内置了一些常用的组件及相关配置的文件及结构,是一个可以快速用于业务开发的 Web 项目基础,在安装时,您可根据您自身的需求,对组件依赖进行选择。
执行下面的命令可以于当前所在位置创建一个 hyperf-skeleton 项目

composer create-project hyperf/hyperf-skeleton 

到hyperf-skeleton项目目录启动Hyperf

php bin/hyperf.php start

忍受不了docker环境下hyperf启动等待时间,教你如何通过win10子系统快速运行hyperf
如果出现这也的提示,表示通过子系统运行hyperf成功

三. 配置到phpstorm

如果同学们在phpstorm编辑器修改代码之后,希望直接在编辑器里面启动hyperf,可以打开phpstorm –>file –>setting 找到Tools下的Terminal 配置如下

忍受不了docker环境下hyperf启动等待时间,教你如何通过win10子系统快速运行hyperf

配置好之后,重新打开phpstorm编辑器如下:

忍受不了docker环境下hyperf启动等待时间,教你如何通过win10子系统快速运行hyperf
表示phpstorm编辑器设置成功,同学们可以输入php bin/hyperf.php start
启动hyperf了;

忍受不了docker环境下hyperf启动等待时间,教你如何通过win10子系统快速运行hyperf

可以比较得出和之前在Ubuntu命令窗口中是一致的,表示配置成功。
通过直接在win10子系统安装Ubuntu来运行hyperf框架可以大大提高框架启动相应时间,也比通过docker容器安装更加简单方便,是一种更优的解决方案。

本作品采用《CC 协议》,转载必须注明作者和本文链接
ZjKing93
讨论数量: 2

在子系统安装php扩展pdo_mysql需要mysql header头,这个问题你怎么处理的啊?

3年前 评论

是wsl1还是2呢? 如果是2,和用不用docker应该无关,只要跨系统,io都很拉跨...

2年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!