前言:

这是一篇php进阶的文档,可能不适合所有phper,但是如果你想学hyperf,又没有Mac,又不想拿电脑装个ubuntu桌面,而你又想学swoole最牛逼的框架hyperf,且你具备docker基础知识,那这篇文章将引导你使用phpstorm来配置hyperf在docker下的开发环境。

hyperf官网文档:安装 (hyperf.wiki)

“ Docker 下开发假设您的本机环境并不能达到 Hyperf 的环境要求,或对于环境配置不是那么熟悉,那么您可以通过以下方法来运行及开发 Hyperf 项目:启动镜像可以根据实际情况,映射到宿主机对应的目录,以下以 /workspace/skeleton 为例如果 docker 启动时开启了 selinux-enabled 选项,容器内访问宿主机资源就会受限,所以启动容器时可以增加 --privileged -u root 选项docker run --name hyperf \ -v /workspace/skeleton:/data/project \ -p 9501:9501 -it \ --privileged -u root \ --entrypoint /bin/sh \ hyperf/hyperf:7.4-alpine-v3.11-swoole ”

根据hyperf的文档,结合自身情况,分为两种情况,一是宿主机就是本地windows电脑,二是宿主机是一台linux的虚拟机或者主机。一般情况使用第一种方式即可。我这里给大家把两种方案都汇总了一下。

一、phpstorm连接windows系统的 docker:已安装 desktop桌面版docker

1.我已安装docker桌面,并安装了官方推荐的redis容器

2.设置暴露2375端口

3.配置phpstorm

  • 点击右上角“Edit Configurations”,弹窗左侧点击“+”

  • 点击“server”项对应的三个“...”

  • 点击phpstorm左下角“Services”,连接“localhost”,双击“Images”,可以看到容器列表有桌面docker安装的redis

 

4.通过phpstorm拉取hyperf镜像,在“localhost”上鼠标右键,点击“pull image...”

注意文档使用的tag不是latest :

而是:7.4-alpine-v3.11-swoole,所以填入:hyperf/hyperf:7.4-alpine-v3.11-swoole

拉取后修改localhost的配置,我这里配置 的宿主机的映射路径为:D:\projects\forpastime\hyperf-docker-host

5.运行hyperf容器:上一步配置好后,点击右上角绿色三角形按钮

查看php版本,必须要7.4+,默认hyperf:latest镜像的php版本是7.2.3。略显尴尬。

6.按照官方文档修改composer源,及创建skelenton项目

  • 将 Composer 镜像设置为阿里云镜像,加速国内下载速度

视情况而定

composer config -g repo.packagist composer https://mirrors.aliyun.com/composerCopy to clipboardErrorCopied
  • 创建项目
cd /data/project
composer create-project hyperf/hyperf-skeletonCopy to clipboardErrorCopied

注意:如果你本地没有安装配置好nacos,不建议你在安装skeleton时就选择微服务治理JSON RPC with Service Governance客户端且选择安装nacos客户端,会导致无法正常启动hyper

7.执行启动hyperf命令

在容器“hyperf”上鼠标右键,点击Attach即可进入容器内

执行命令:php /data/project/hyperf-skeleton/bin/hyperf.php start

8.浏览器访问:127.0.0.1:9501

显示hyperf默认欢迎页面:

9.查看宿主机的hyperf-skeleton项目是否存在

10.通过phpstorm打开项目即可进行代码编写!

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

如果你就打算使用windows进行hyperf的开发,以下做个简单了解即可:

二、phpstorm连接虚拟机docker:centOS操作系统,已安装docker

我计划将docker容器下的php项目放置到 /data/project,映射宿主机(centOS)的目录为 /docker/hyperf

docker run -it -d \ --name hyperf \-v /docker/hyperf:/data/project \-p 9501:9501 \ --privileged -u root \ --entrypoint /bin/bash \ 

上面这个命令是最终要执行的命令,我们通过phpstorm的配置来实现,

注意:docker镜像使用:“hyperf/hyperf:7.4-alpine-v3.11-swoole”,不要直接拉取latest。

1.点击右上角“Edit Configurations”,弹窗左侧点击“+”

2.填写配置参数

注意imageID or name 填写:hyperf/hyperf:7.4-alpine-v3.11-swoole

3.点击右上角绿色启动按钮

4.点击phpstorm右下角“Services”,连接“Docker-252”,双击“Containers”,可以看到“hyper”容器已正常启动

5.宿主机的项目文件在/docker/hyperf/目录下,可以通过phpstorm编辑远程项目的功能来管理编写代码:

在phpstorm顶部“tools”工具打开远程链接

按照你centOS操作系统配置登陆信息:

配置默认访问的路径

看看两种方式均可通过phpstorm打开项目的效果

以上就算本节课:phpstorm windows环境下开发php swoole框架Hyperf的项目的完整配置方法,如果您觉得不错请点赞支持!

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

微信小程序

微信扫一扫体验

立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部