1. 官方文档地址 https://github.com/swoft-cloud/swoft/blob/master/README_CN.md
安装swoft
手动安装
和 composer安装
这两种方式任选其一,我们会看到项目下载到本地
注意:如果本地没有装swoole的开发环境会报错,推荐使用docker或docker-compose方式安装
docker环境安装
win10系统以下安装docker toolBox
https://blog.csdn.net/tina_ttl/article/details/51372604 // 有关docker更详细配置
- docker toolbox 虚拟机配置
docker安装成功后打开virtualbox虚拟机,默认会创建一个default虚拟机,右键打开 设置 ,设置共享目录(将我们项目所在的盘根目录作为共享目录,注意:此处必须设置为根目录),此处我项目放在F盘下面的目录,共享文件夹的名称必须写成 f ,必须写成 f ,必须写成 f ;勾选自动挂载,固定分配,防止下次启动重新配置
// 前提必须将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存在
-
docker run -d -p 80:80 -v /$(pwd):/var/www/swoft --name swoft swoft/swoft
// 开发环境和容器进行关联
- 如果本机(宿主机)开发目录为空
-
docker run -d --entrypoint="" -v /$(pwd):/var/www/swoft --name swoft swoft/swoft bash
// 开发环境和容器进行关联 -
docker exec -it swoft bash
// 进入bash环境,如果报错尝试在开头添加winpty
-
composer config -g repo.packagist composer https://packagist.phpcomposer.com
// 配置composer镜像 -
composer create-project swoft/swoft swoft
// 下载项目,下载下来的项目根据需求做适当调整 -
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大佬的指点,特意在这里总结下,防止后来的人踩坑。