搭建swoft框架运行环境

1. 官方文档地址 https://github.com/swoft-cloud/swoft/blob/master/README_CN.md

安装swoft

7893223-39ba20985cafe88d.png
image

手动安装composer安装 这两种方式任选其一,我们会看到项目下载到本地

7893223-ed071487d4a8a80e.png
image

注意:如果本地没有装swoole的开发环境会报错,推荐使用docker或docker-compose方式安装


7893223-41bb5fa05dd4551d.png
没有swoole环境报错

docker环境安装

win10系统以下安装docker toolBox

https://blog.csdn.net/tina_ttl/article/details/51372604 // 有关docker更详细配置

  • docker toolbox 虚拟机配置
    docker安装成功后打开virtualbox虚拟机,默认会创建一个default虚拟机,右键打开 设置 ,设置共享目录(将我们项目所在的盘根目录作为共享目录,注意:此处必须设置为根目录),此处我项目放在F盘下面的目录,共享文件夹的名称必须写成 f ,必须写成 f ,必须写成 f ;勾选自动挂载,固定分配,防止下次启动重新配置
7893223-7c73015c39c7fd79.png
image

// 前提必须将f盘设为共享目录(注:只能将根目录设置为共享)

设置完共享文件夹后,重启虚拟机
docker-machine stop 停止
docker-machine start 开启
或者
docker-machine restart 重启

win10安装 docker for window

对于win10系统 docker有专门针对该系统的docker安装包,下载链接:
https://store.docker.com/editions/community/docker-ce-desktop-windows

docker方式安装

  • 如果本机(宿主机)开发目录已经存在swoft项目,并且vendor存在
  1. docker run -d -p 80:80 -v /$(pwd):/var/www/swoft --name swoft swoft/swoft // 开发环境和容器进行关联
  • 如果本机(宿主机)开发目录为空
  1. docker run -d --entrypoint="" -v /$(pwd):/var/www/swoft --name swoft swoft/swoft bash // 开发环境和容器进行关联
  2. docker exec -it swoft bash // 进入bash环境,如果报错尝试在开头添加winpty
  3. composer config -g repo.packagist composer https://packagist.phpcomposer.com // 配置composer镜像
  4. composer create-project swoft/swoft swoft // 下载项目,下载下来的项目根据需求做适当调整
  5. php bin/swoft start //启动swoft

注意:官网上面docker run -p 80:80 swoft/swoft启动容器是将swoft服务作为容器的进程,如果swoft进程退出,容器就会关闭,容器启动时根据Dockerfile文件会执行php /var/www/swoft/bin/swoft start命令,这个命令如果我们不和本地目录进行关联是没有问题的,当我们关联时如果本地目录没有swoft项目会报错Could not open input file: /var/www/swoft/bin/swoft
使用--entrypoint=""默认覆盖掉容器里面php /var/www/swoft/bin/swoft bash命令,后面跟bash是让容器使用bash做前置服务,防止容器执行完自动推出,然后我们进入容器在下载项目,手动启动swoft服务
官方的例子能让我们快速的看到swoft的效果,需要开发时我们还需要做相应修改

docker-compose 安装

  • 执行git clone https://github.com/swoft-cloud/swoft命令,下载swoft框架
  • 编辑docker-compose.yml文件如下
version: '3'

services:
    swoft:
       container_name: swoft
       image: swoft/swoft:latest
       ports:
         - "80:80"
       volumes:
         - ./:/var/www/swoft
       stdin_open: true 
       tty: true
       privileged: true
       entrypoint: ["bash"]
  • docker-compose up -d // 启动swoft环境
  • docker-compose exec swoft bash // 进入bash环境
  • 执行composer install 安装扩展
  • php bin/swoft start 启动服务

最后感谢bigCat大佬的指点,特意在这里总结下,防止后来的人踩坑。

猜你喜欢

转载自blog.csdn.net/weixin_33836874/article/details/87036211