本文详解如何使用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本地开发环境!

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。