前言
很多小伙伴在Windows平台开发时,总苦恼于环境的配置,而且PHP有些插件如swoole在Windows上并不支持,本篇文章将详细介绍在Windows平台借助虚拟机部署Laradock环境,并实现远程xdebug以及horizon管理,希望能给小伙伴们一些帮助
安装虚拟机
VM设置
- 虚拟网络编辑器:VMnet8取消勾选“使用本地DHCP服务将IP地址分配给虚拟机”
自定义硬件
- CPU:2;内核:2
- 内存:8GB
- 网络适配器:NAT
- 硬盘:40GB
配置网络
查看子网IP
虚拟网络编辑器->VMNet8->子网IP
查看网关IP
虚拟网络编辑器->VMNet8->Net设置->网关IP
编辑配置文件
vim /etc/sysconfig/network-scripts/ifcfg-ens33
BOOTPROTO="static"
IPADDR=192.168.72.130 // 对应子网IP
NETMASK=255.255.255.0
GATEWAY=192.168.72.2 // 对应网关IP
DNS1=114.114.114.114
重启网络
systemctl restart network
验证,ens33有IP地址即可
ifconfig
重启客户机,ping外网成功
更换yum源
bash <(wget --no-check-certificate -qO- https://download.bt.cn/tools/fix_source.sh)
安装Docker
安装
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
sudo sed -i 's+download.docker.com+mirrors.aliyun.com/docker-ce+' /etc/yum.repos.d/docker-ce.repo
sudo yum makecache fast
sudo yum -y install docker-ce
sudo service docker start
sudo systemctl enable docker
docker --version
更换镜像源
vim /etc/docker/daemon.json
{
"registry-mirrors": [
"https://dockerpull.com",
"https://dockerhub.icu"
]
}
重启docker应用更改
sudo systemctl daemon-reload
sudo systemctl restart docker
安装docker-compose
下载
sudo curl -L "https://github.com/docker/compose/releases/download/v2.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
添加权限
sudo chmod +x /usr/local/bin/docker-compose
创建软链
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
测试是否安装成功
docker-compose version
安装git
yum install git
安装Laradock
下载
git clone https://github.com/laradock/laradock.git
修改配置
.env
cp .env.example .env
修改目录映射
vim .env
APP_CODE_PATH_HOST=../../www/wwwroot/project_name
CHANGE_SOURCE=true
安装运行环境
docker-compose up -d nginx mysql phpmyadmin redis
克隆项目
cd /www/wwwroot
git clone xxx
进入容器
docker-compose exec workspace bash
修改项目.env
cp .env.example .env
vim .env
DB_HOST=mysql
DB_DATABASE=your db name
DB_USERNAME=root
DB_PASSWORD=root
REDIS_CLIENT=phpredis
REDIS_HOST=redis
REDIS_PASSWORD=secret_redis
REDIS_PORT=6379
运行composer
composer install
安装扩展
xdebug
修改.env
WORKSPACE_INSTALL_XDEBUG=true
PHP_FPM_INSTALL_XDEBUG=true
修改配置文件
vim /laradock/workspace/xdebug.ini
xdebug.remote_host="192.168.72.130"
xdebug.remote_connect_back=0
xdebug.remote_port=9000
xdebug.idekey=VSC
vim /laradock/php-fpm/xdebug.ini
xdebug.remote_host="192.168.72.130"
xdebug.remote_connect_back=0
xdebug.remote_port=9000
xdebug.idekey=VSC
build容器
docker-compose build workspace php-fpm
horizon
修改.env
LARAVEL_HORIZON_INSTALL_PHPREDIS=true
修改config
cd /laradock/laravel-horizon/supervisord.d
cp laravel-horizon.conf.example project-name.conf
vim project-name.conf
[program:project-name]
process_name=%(program_name)s_%(process_num)02d
user=root
command=php /var/www/artisan horizon
autostart=true
autorestart=true
redirect_stderr=true
stdout_logfile=/var/www/storage/logs/horizon.log
运行容器
docker-compose up -d laravel-horizon
安装VSCode
下载安装
配置ssh连接,远程连接vm服务器
安装php debug扩展
配置xdebug
{
"name": "Listen for Xdebug",
"type": "php",
"request": "launch",
"port": 9000,
"pathMappings": {
"/var/www":"${workspaceFolder}"
}
},
请求
header增加参数Cookie
value为XDEBUG_SESSION_START=VSC
调试
- 开启调试
- 打断点
- 进入调试