Docker容器下快速搭建Hyperf框架在Windows系统的本地开发环境

875 阅读3分钟

Hyperf框架介绍

Hyperf是一个高性能、高灵活性的渐进式 PHP 协程框架,内置协程服务器及大量常用的组件,性能较传统基于PHP-FPM的框架有质的提升,提供超高性能的同时,也保持着极其灵活的可扩展性,标准组件均基于PSR标准实现,基于强大的依赖注入设计,保证了绝大部分组件或类都是可替换可复用的。

Docker下开发

假设您的本机环境并不能达到Hyperf的环境要求,或对于环境配置不是那么熟悉,那么您可以通过以下方法来运行及开发Hyperf项目,这里我们主要说明在Windows操作系统下的开发。

下载并安装docker

Windows系统中进行开发,我们需要先安装docker for windows,首先直接进入docker官网:www.docker.com
然后依次点击:Get started -> Download for Windows,即可下载docker
下载包可能比较大,如果网络不太好的话需要耐心等待一下,待下载完毕后直接下一步安装

启动报WSL2问题

安装完毕后,第一次打开可能会报WSL2问题,直接按照提示里的URL地址打开, ,下载适用于x64计算机的WSL2 Linux内核更新包 ,下载完毕后也是直接安装然后重启docker客户端即可

拉取docker镜像(hyperf官方)

这里我们使用的命令行工具是powershell,同时按win + r,再输入powershell后回车,即可打开命令行工具
然后在命令行中输入:docker pull hyperf/hyperf:7.4-alpine-v3.11-swoole,下载完docker镜像后,我们可以使用docker image ls查看镜像列表,也可以在docker客户端的Images看到。

将本机项目目录绑定到镜像内的目录

假设在我本机电脑的目录D:\project\hyperf下是hyperf的项目,并且端口是默认的9501,现在我们将这个目录绑定到docker镜像中,即可实现在docker中开发,命令如下:
docker run -d --name hyperf -v D:\project\hyperf:/data/hyperf -p 9501:9501 -it --privileged -u root --entrypoint /bin/sh hyperf/hyperf:7.4-alpine-v3.11-swoole
由于我们前面已经拉取了镜像,所以这个命令会创建一个名为hyperf的容器,我们使用命令dcoker ps即可看到我们刚运行的容器的NAMEShyperf,而且端口号是9501

进入容器

前面我们已经创建了一个名为还有hyperf的项目,所以我们需要执行命令docker exec -it hyperf bash即可进入项目镜像中

在容器内安装Composer

首先下载composer.phar,可以通过以下方式下载,composer不同版本的查看地址github.com/composer/co…
wget https://github.com/composer/composer/releases/download/2.1.12/composer.phar
php -r "readfile('https://getcomposer.org/installer');" | php
下载完成后,再执行命令chmod u+x composer.phar给加上执行权限
再运行命令行mv composer.phar /usr/local/bin/composer,将composer.phar移动至/usr/local/bin目录下并改名为composer,即可实现全局调用了
然后运行命令composer,即可测试是否安装成功

设置Composer国内镜像

阿里云镜像 composer config -g repo.packagist composer https://mirrors.aliyun.com/composer
腾讯云镜像 composer config -g repo.packagist composer https://mirrors.cloud.tencent.com/composer
国内Composer镜像 composer config -g repo.packagist composer https://packagist.phpcomposer.com
接触镜像绑定并恢复到官方镜像 composer config -g --unset repos.packagist

启动Hyperf服务

由于我们的项目是绑定在镜像目录是/data/hyperf,所以,我们再执行cd /data/hyperf即可进入项目目录中
然后再执行命令php bin/hyperf.php start,即可启动服务,如果有报错信息,根据错误信息依次解决然后再重启即可
启动服务后,可以同时按Ctrl+C,即可停止服务

测试服务

服务启动后,直接在浏览器地址栏中输入127.0.0.1:9501,然后能正常访问,说明服务已经启动成功了,到此说明开发环境基本搭建完成,可以愉快的Coding了……