# 常用的开发环境命令行

# 安装 Homebrew

# 国内源头

/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"

# 常规方法

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

# 安装 Composer

brew install composer
composer -v

# Composer 换源

# 禁用默认源
composer config -g secure-http false

# 使用阿里云镜像
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/

# 查看配置
composer config -g -l

# 安装框架所需库
composer install

# 安装其他库
composer require xxx

# 更新库
composer update

# 升级 Composer
composer self-update

# 更新 autoloader
composer dump-autoload

# PHP 安装扩展

# 安装 swoole 扩展
pecl install swoole

# 安装 redis
pecl install igbinary
pecl install zstd
pecl install redis

# 安装 Node.js

brew install node
npm -v

# Redis

# 安装 redis
brew install redis

# 运行 redis 服务
brew services start redis

# 查看 redis 进程
ps axu | grep redis

# redis-cli 连接 redis 服务
redis-cli -h 127.0.0.1 -p 6379

# 关闭 redis 服务
redis-cli shutdown

# brew 关闭 redis
brew services stop redis

# Vagrant

vagrant box add        # 添加 box
vagrant init           # 初始化 box
vagrant up             # 启动虚拟机
vagrant ssh            # 登录虚拟机
vagrant box list       # 列出 box
vagrant box remove     # 移除 box
vagrant destroy        # 移除虚拟机并销毁
vagrant halt           # 停止虚拟机
vagrant package        # 打包虚拟机
vagrant reload         # 虚拟机重启

# Docker

# Hyperf Docker 环境

# 标准环境
docker run --name hyperf \
  -v /work/hyperf:/data/project \
  -p 9501:9501 -it \
  --privileged -u root \
  --entrypoint /bin/sh \
  hyperf/hyperf:8.0-alpine-v3.15-swoole

# macOS 环境(需要指定平台)
docker run -it --platform linux/amd64 --name hyperf \
  -v ~/work/hyperf:/data/project \
  -p 9501:9501 -it \
  --privileged -u root \
  --entrypoint /bin/sh \
  hyperf/hyperf:8.0-alpine-v3.15-swoole

# EasySwoole Docker 环境

docker pull easyswoole/easyswoole3
docker run -ti -p 9501:9501 easyswoole/easyswoole3

# Docker 常用命令

# 查看运行中的容器
docker ps

# 查看所有容器
docker ps -a

# 删除容器
docker rm xxx

# 启动容器
docker start xxx

# 停止容器
docker stop xxx

# 查看资源使用情况
docker stats

# 进入容器
docker exec -it bfc6039f87f7 /bin/bash

# 修改容器内存限制
docker update -m 300m --memory-swap 1g bfc6039f87f7

docker run vs docker start

  • docker run:只在第一次运行时使用,将镜像放入容器并启动
  • docker start:重新启动已存在的容器

# Laradock

# macOS M1 配置

docker-compose.yml 配置文件中,每个 services 下添加:

platform: linux/amd64

示例:

php-fpm:
  platform: linux/amd64
  build:
    context: ./php-fpm

# 常用命令

# 克隆项目
git clone https://github.com/Laradock/laradock.git

# 重新编译并重启容器
docker-compose build mysql
docker-compose restart mysql

# 重新编译所有镜像(禁用缓存)
docker-compose build

# 更改 PHP 版本
# 修改 .env 配置文件中的 PHP 版本
docker-compose build php-fpm
docker-compose build workspace

# 进入容器
docker-compose exec --user=laradock workspace bash

# 运行容器
docker-compose up -d nginx mysql phpmyadmin redis workspace

# 查看项目容器
docker-compose ps

# 停止所有容器
docker-compose stop

# 删除所有服务
docker-compose down

# Laravel 开发服务器

php artisan serve --host 0.0.0.0

提示

  • macOS M1/M2 芯片使用 Docker 时,建议添加 --platform linux/amd64 参数
  • Laradock 修改配置后需要重新编译相关镜像

注意

  • 使用 docker-compose down 会删除容器和网络,数据卷需要额外处理
  • 重要数据建议使用独立的数据卷持久化