本文详解如何使用Lando(基于Docker)快速搭建WordPress本地开发环境。
什么是Lando
Lando(2017年发布):
- 基于Docker的本地开发环境工具
- 支持多种CMS(WordPress/Drupal/Laravel)
- 一键启动/停止/销毁
- 跨平台(Windows/macOS/Linux)
- 免费开源
2026年新特性:
- 支持ARM架构(Apple Silicon)
- 内置MailHog(邮件测试)
- 支持多站点(Multisite)
- 支持WP-CLI自动配置
为什么用Lando(vs Vagrant/VVV)
| 对比项 | Vagrant/VVV | Lando | 优势 |
|--------|--------------|-------|------|
| 启动速度 | 2-5分钟 | 10-30秒 | 10x快 |
| 资源占用 | 高(VirtualBox) | 低(Docker) | 50%降低 |
| 配置复杂度 | 高(需要Ruby) | 低(.lando.yml) | 易用 |
| 跨平台 | 一般 | 完美 | 一致 |
实战一:安装Lando
Windows安装
# 1. 安装Docker Desktop(必须先安装)
访问 https://www.docker.com/products/docker-desktop/
安装并启动Docker Desktop
2. 下载Lando安装包
访问 https://lando.dev/download/
下载Lando for Windows(.exe安装包)
3. 安装Lando
双击Lando-3.21.0.exe → 按向导安装
4. 验证
lando version
应输出:v3.21.0
macOS安装
# 方法一:Homebrew(推荐)
brew install lando
方法二:下载安装包
访问 https://lando.dev/download/
下载Lando for macOS(.dmg)
拖拽到Applications文件夹
验证
lando version
Linux安装
# 下载安装脚本
curl -fsSL https://lando.dev/install.sh | bash
验证
lando version
实战二:初始化WordPress项目
创建项目目录
# 创建项目目录
mkdir my-wordpress && cd my-wordpress
初始化Lando
lando init
交互式向导:
? From where should we get your app's codebase? (当前目录)
? What recipe do you want to use? (WordPress)
? Where is your webroot relative to the init destination? (.)
配置.lando.yml
# .lando.yml(自动生成,可手动修改)
name: my-wordpress
recipe: wordpress
config:
webroot: .
php: '8.2' # PHP版本
database: mysql:8.0 # MySQL版本
xdebug: true # 启用Xdebug(调试)
config:
php: .lando.php.ini # 自定义php.ini
env:
# 环境变量
WP_ENV: development
WP_DEBUG: 'true'
services:
# 添加额外服务(如Redis)
cache:
type: redis:7
tooling:
# 自定义命令
phpcs:
service: appserver
cmd: phpcs
启动环境
# 启动(第一次会下载Docker镜像,较慢)
lando start
输出示例:
✓ STEP 1/5: INITIALIZING...
✓ STEP 2/5: STARTING APPSERVER...
✓ STEP 3/5: STARTING DATABASE...
✓ STEP 4/5: STARTING MAILHOG...
✓ STEP 5/5: DONE!
# Your site is ready:
- URL: https://my-wordpress.lndo.site
- Admin: https://my-wordpress.lndo.site/wp-admin
- User: admin
- Pass: admin
查看状态
lando info
停止环境
lando stop
销毁环境(删除容器和数据库)
lando destroy -y
实战三:使用WP-CLI(Lando自动配置)
基础命令
# 登录(自动进入容器)
lando ssh
使用WP-CLI(无需安装,Lando自带)
lando wp plugin list
安装WooCommerce
lando wp plugin install woocommerce --activate
安装主题
lando wp theme install twentytwentyfour --activate
创建管理员用户
lando wp user create devadmin dev@lando.dev --role=administrator --user_pass=password
导入生产数据库
# 1. 从生产环境导出数据库
生产环境执行:
wp db export backup.sql
2. 将backup.sql复制到本地项目目录
3. 导入到Lando
lando wp db import backup.sql
4. 搜索替换(域名更换)
lando wp search-replace 'https://productionsite.com' 'https://my-wordpress.lndo.site'
实战四:配置邮件测试(MailHog)
启用MailHog
# .lando.yml
name: my-wordpress
recipe: wordpress
config:
webroot: .
php: '8.2'
database: mysql:8.0
mailhog: true # 启用MailHog
配置WordPress使用MailHog
// wp-config.php(添加到文件末尾)
define('WPMS_ON', true);
define('WPMS_SMTP_HOST', 'mailhog');
define('WPMS_SMTP_PORT', 1025);
查看邮件
1. 启动Lando:lando start
- 访问MailHog界面:https://my-wordpress.lndo.site:8025
- WordPress发送的邮件会显示在这里(不会真的发出去)
实战五:调试(Xdebug + VS Code)
配置Xdebug
# .lando.yml
name: my-wordpress
recipe: wordpress
config:
webroot: .
php: '8.2'
xdebug: true # 启用Xdebug
config:
php: .lando.php.ini
.lando.php.ini配置
; .lando.php.ini
[xdebug]
xdebug.mode=develop,debug
xdebug.start_with_request=yes
xdebug.client_host=host.docker.internal ; Windows/macOS
xdebug.client_port=9003
VS Code配置
// .vscode/launch.json
{
"version": "0.2.0",
"configurations": [
{
"name": "Listen for Xdebug",
"type": "php",
"request": "launch",
"port": 9003,
"pathMappings": {
"/app": "${workspaceFolder}"
}
}
]
}
开始调试
1. VS Code:按F5启动调试(Listen for Xdebug)
- 浏览器:访问 https://my-wordpress.lndo.site
- VS Code:断点命中!
实战六:多站点(Multisite)配置
启用多站点
# 1. 启用WordPress多站点
lando wp core multisite-convert --title="My Network"
2. 修改wp-config.php(Lando自动完成)
添加:
define('MULTISITE', true);
define('SUBDOMAIN_INSTALL', false); # 子目录模式
define('DOMAIN_CURRENT_SITE', 'my-wordpress.lndo.site');
define('PATH_CURRENT_SITE', '/');
define('SITE_ID_CURRENT_SITE', 1);
define('BLOG_ID_CURRENT_SITE', 1);
3. 修改.htaccess(Lando自动完成)
4. 重启Lando
lando restart
访问多站点
主站点:https://my-wordpress.lndo.site/
子站点1:https://my-wordpress.lndo.site/site1/
子站点2:https://my-wordpress.lndo.site/site2/
管理网络:https://my-wordpress.lndo.site/wp-admin/network/
高级技巧
技巧一:添加Redis缓存
# .lando.yml
name: my-wordpress
recipe: wordpress
config:
webroot: .
php: '8.2'
services:
cache:
type: redis:7
appserver:
overrides:
environment:
REDIS_HOST: cache
REDIS_PORT: 6379
// wp-config.php
define('WP_REDIS_HOST', 'cache');
define('WP_REDIS_PORT', 6379);
// 安装Redis缓存插件(如Redis Object Cache)
// WordPress后台 → 插件 → 安装插件 → 搜索"Redis Object Cache"
技巧二:添加phpMyAdmin
# .lando.yml
name: my-wordpress
recipe: wordpress
config:
webroot: .
php: '8.2'
proxy:
pma:
- my-wordpress-pma.lndo.site
services:
pma:
type: phpmyadmin
hosts:
- database
env:
PMA_ARBITRARY: 1
访问phpMyAdmin:
https://my-wordpress-pma.lndo.site
登录信息:
- 服务器:database
- 用户名:wordpress
- 密码:wordpress
决策建议
| 场景 | 是否使用Lando | 理由 |
|------|----------------|------|
| 本地WordPress开发 | ✅ 强烈推荐 | 一键启动,跨平台 |
| 团队合作(统一环境) | ✅ 推荐 | .lando.yml版本控制 |
| 需要多版本PHP测试 | ✅ 推荐 | 轻松切换PHP版本 |
| 简单个人博客 | ⚠️ 考虑 | 可能过重 |
总结
Lando是2026年最佳的WordPress本地开发工具。基于Docker,跨平台,一键启动,免费开源。
立即行动:用Lando启动你的第一个WordPress本地开发环境!

评论(0)