前言:
这是一篇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的项目的完整配置方法,如果您觉得不错请点赞支持!