引言
在当今数字化时代,WordPress 已成为全球最受欢迎的内容管理系统(CMS)之一,支撑着数百万个网站的运行。无论是个人博客、企业官网,还是电商平台,WordPress 都凭借其灵活性和强大的扩展性赢得了广泛的用户基础。然而,随着网站规模的扩大及功能的复杂化,传统后台管理方式可能变得繁琐低效;新手更可能因错误操作等原因,无法通过常规方式进入后台管理界面进行故障排除。
在这种情况下,WordPress 命令行工具(WP-CLI)应运而生,它不仅提升了管理效率,还在网站故障排除方面展现出显著优势。通过 WP-CLI,用户可以在不登录后台的情况下,快速诊断和解决网站问题。
本文将详细介绍 WP-CLI 的安装与使用方法,帮助你充分利用这一工具,提升 WordPress 网站的管理效率和故障排除能力。
什么是WP-CLI
WP-CLI 是一款用于管理 WordPress 的命令行界面,无需浏览器即可完成插件更新、多站点设置等操作。
WP-CLI 能够实现的常见操作类型丰富多样,主要包括以下几个方面:
- 站点管理:创建新的 WordPress 站点、更新站点配置、迁移站点等。例如,通过简单的命令,用户可以快速创建一个全新的 WordPress 站点,并指定数据库信息、站点标题等参数。
- 插件管理:安装、更新、激活、禁用和删除插件。WP-CLI 提供了便捷的命令来管理插件,用户可以轻松地搜索并安装所需的插件,或者批量更新所有插件,也可以在无法进入后台的情况下停用发生故障的插件,确保网站功能的稳定性和安全性。
- 主题管理:安装、切换、更新和删除主题。通过 WP-CLI,用户可以快速切换网站的主题,或者安装最新的主题版本,为网站带来全新的视觉效果。
- 用户管理:创建、更新、删除用户,以及修改用户角色和权限。这使得网站管理员能够更加灵活地管理网站的用户群体,确保网站的安全性和权限控制。
- 数据备份与恢复:备份和恢复数据库,确保网站数据的安全性。在数据丢失或损坏的情况下,通过 WP-CLI 可以快速恢复数据库,减少数据损失的风险。
- 故障排除:当WordPress出现问题时可进行故障分析与排除,保证你的网站可以正确运行。
WP-CLI 的这些功能不仅提高了操作的效率,还为 WordPress 网站的管理和开发带来了更大的灵活性和便利性。在接下来的章节中,我们将详细介绍 WP-CLI 的安装方法以及如何使用这些功能来管理 WordPress 网站。
安装WP-CLI
安装环境
安装前请检查自己网站的运行环境是否符合如下要求:
- UNIX 环境:OS X、Linux、FreeBSD、Cygwin 等,部分功能在 Windows 中将受到限制。
- PHP 版本:PHP 5.6 或更高版本。
- WordPress 版本:WordPress 3.7 或更高版本,较旧版本在功能上可能会有所减少。
WP-CLI本身需要PHP的支持,并且PHP执行环境最好与WordPress运行时所配置的PHP环境保持一致,因此针对不同的PHP安装情形,我们将介绍对应的安装方法。
PHP安装在主机环境中
此部分内容适用于使用系统包管理器或者源码编译的方式将PHP直接安装到主机系统环境内的用户,你通常可以在主机命令行内直接使用 php
命令。可以通过 php -v
查看你所安装的PHP版本。
user@localhost:~$ php -v
PHP 8.4.2 (cli) (built: Dec 24 2024 06:04:41) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.4.2, Copyright (c) Zend Technologies
with Zend OPcache v8.4.2, Copyright (c), by Zend Technologies
user@localhost:~$
1. 下载Phar文件
使用以下命令下载Phar文件:
#使用curl下载
curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
#使用wget下载
wget https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
提示
文件位于Github素材服务器中,如若访问失败,请使用镜像站或使用代理进行访问
2. 验证下载的Phar文件
执行以下命令,应该能返回WP-CLI工具的一些基本信息:
php wp-cli.phar --info
3. 添加执行权限并移动到系统目录中
chmod +x wp-cli.phar
sudo mv wp-cli.phar /usr/local/bin/wp
4. 确认安装成功
执行 wp --info
命令,应该有类似于如下输出:
user@localhost:~$ wp --info
OS: Linux 5.15.0-130-generic #140-Ubuntu SMP Wed Dec 18 17:59:53 UTC 2024 x86_64
Shell: /bin/bash
PHP binary: /usr/bin/php8.4
PHP version: 8.4.2
php.ini used: /etc/php/8.4/cli/php.ini
MySQL binary: /usr/bin/mysql
MySQL version: mysql Ver 8.0.40-0ubuntu for Linux on x86_64 ((Ubuntu))
SQL modes: ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
WP-CLI root dir: phar://wp-cli.phar/vendor/wp-cli/wp-cli
WP-CLI vendor dir: phar://wp-cli.phar/vendor
WP_CLI phar path: /home/user
WP-CLI packages dir:
WP-CLI cache dir: /home/user/.wp-cli/cache
WP-CLI global config:
WP-CLI project config:
WP-CLI version: 2.11.0
user@localhost:~$
PHP位于容器环境中(Docker)
1. 进入容器shell
我们需要进入对应容器的shell环境中执行操作:
docker exec -it <容器名称或ID> /bin/sh
1Panel用户可以按下图操作连接至容器终端
2. 下载与验证Phar文件
#使用curl下载
curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
#使用wget下载
wget https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
#验证Phar文件
php wp-cli.phar --info
3. 添加执行权限
chmod +x wp-cli.phar
mv wp-cli.phar wp
本例中文件被放置在容器中的 /root/
内,之后都将通过 /root/wp
访问命令,如果你自定义了安装位置,请自行替换。
WP-CLI的基本使用
WP-CLI 的目标是为网站管理员提供完整的替代方案,因此你可能想在 WordPress 管理后台中执行的任何操作,几乎都有等效的 WP-CLI 命令。由于篇幅限制,本文将重点介绍使用WP-CLI进行主题与插件的管理,如果你需要更多命令的说明,请参考官方文档(https://make.wordpress.org/cli/handbook)
用前注意
WP-CLI将基于终端当前的工作目录展开工作,因此正式操作前请先把终端的工作目录更改为网站的根目录,你可以参考如下命令,具体路径以你服务器实际情况为准。
#使用主机环境直接建站的路径多为:
cd /var/www/html/
#使用1Panel内的PHP容器环境建站的多为:
cd /www/sites/example.com/index/
#使用宝塔建站的多为:
cd /wwwroot/example.com/
如果你的PHP直接安装在主机环境中,官方建议使用www-data的身份执行WP-CLI(你的PHP与Nginx或其他Web服务应该都以www-data的身份执行),因此切换到站点目录下后,接下来你可以用 sudo -u www-data wp <command>
来以www-data的身份执行WP-CLI命令。
如果你PHP运行在容器中,使用上一节的教程配置好后,你需要用绝对路径调用WP-CLI且应该加上 --allow-root
的参数,默认情况下不允许root直接调用WP-CLI。你的调用将类似于 /root/wp --allow-root <command>
。
为了节约篇幅,下文将直接使用 wp <command>
指代命令调用,请自行替换为适合自己的命令调用。
(一)站点管理
1. 创建新站点
通过 WP-CLI,可以快速创建新的 WordPress 站点。以下是一个示例命令,用于创建一个新站点并指定数据库信息和站点标题:
wp core install --url=example.com --title="My New Site" --admin_user=admin --admin_password=password --admin_email=admin@example.com
2. 更新站点
使用以下命令可以更新 WordPress 核心:
wp core update
(二)插件管理
1. 安装插件
安装插件非常简单。以下命令用于安装插件:
wp plugin install plugin-name
如果不清楚要安装的插件的具体名称,可以从WordPress官网上获得,例如 经典编辑器 的官方页面为 https://wordpress.org/plugins/classic-editor/
,那么安装是应用的名称就是 classic-editor
。
也可以使用WP-CLI搜索插件:
wp plugin search classic
使用第二列 slug
中的名称安装你想要的插件。
当然也可以可以使用URL安装自定义插件:
wp plugin install http://example.com/extension_file.zip
2. 更新插件
更新插件可以确保插件的最新功能和安全补丁。以下命令用于更新插件:
#更新指定插件
wp plugin update plugin-name
#更新所有插件
wp plugin update --all
3. 管理插件
以下命令可以帮助你管理已安装的插件:
命令 | 说明 |
wp plugin list | 列出已安装插件 |
wp plugin install <插件名> | 安装指定插件 |
wp plugin search <关键字> | 搜索插件 |
wp plugin activate <插件名> | 启用指定插件 |
wp plugin update <插件名> | 升级指定插件 |
wp plugin deactivate <插件名> | 禁用指定插件 |
wp plugin uninstall <插件名> | 卸载指定插件 |
(三)主题管理
1. 安装主题
与插件管理类似,参考如下表格
命令 | 说明 |
wp theme list | 列出已安装主题 |
wp theme install <插件名> | 安装指定主题 |
wp theme search <关键字> | 搜索主题 |
wp theme activate <插件名> | 启用指定主题 |
wp theme update <插件名> | 升级指定主题 |
wp theme status <插件名> | 获取指定主题信息 |
wp theme delete <插件名> | 卸载指定主题 |
(四)用户管理
1. 创建用户
创建新用户可以为网站添加新的作者或管理员。以下命令用于创建一个新用户:
wp user create john.doe john.doe@example.com --role=author --user_pass=password
2. 更新用户信息
更新用户信息可以修改用户的用户名、邮箱或密码。以下命令用于更新用户的邮箱:
wp user update 1 --user_email=new.email@example.com
3. 管理用户
你还可能用到下面的命令:
#列出所有用户
wp user list
#删除一个用户
wp user delete user-name
(五)数据备份与恢复
1. 备份数据库
备份数据库是确保网站数据安全的重要步骤。以下命令用于备份数据库:
wp db export backup.sql
2. 恢复数据库
在数据丢失或损坏的情况下,可以使用备份文件恢复数据库。以下命令用于从备份文件恢复数据库:
wp db import backup.sql
通过以上常见操作,你可以快速上手 WP-CLI,提升 WordPress 网站的管理效率和故障排除能力。
(六)故障排除
1. 维护模式
查看维护模式状态
$ wp maintenance-mode status
Maintenance mode is not active.
启用维护模式
$ wp maintenance-mode activate
Enabling Maintenance mode...
Success: Activated Maintenance mode.
禁用维护模式
$ wp maintenance-mode deactivate
Disabling Maintenance mode...
Success: Deactivated Maintenance mode.
2. 确定插件与主题冲突
新手最容易出现的故障就是插件与主题的冲突,并且有时候还可能导致你无法进入后台,这时候就可以用WP-CLI进行故障分析与排除。
1. 跳过插件和主题执行WP-CLI
首先,尝试在不加载任何插件或主题的情况下运行WP-CLI命令。这可以通过 --skip-plugins
和 --skip-themes
参数来实现。如果在这种情况下WP-CLI能够正常运行,则说明问题是由于某个插件或当前激活的主题引起的。
wp --skip-plugins --skip-themes
如果上述命令成功执行,那么问题确实是由插件或主题导致的。
2. 检查是否是活动主题引起的问题
接下来,可以单独跳过主题来测试WP-CLI是否能正常加载。这样可以帮助确定问题是否来源于当前使用的主题。
wp --skip-themes
如果这个命令也成功了,那么我们可以排除主题的问题,将焦点转向插件。
3. 检查是否是某个活动插件引起的问题
最后,逐一排查每个活动插件以找出哪个插件阻止了WP-CLI的完整执行。一种方法是手动为每个活动插件添加 --skip-plugins=<plugin-name>
参数并依次测试;另一种更高效的方法是使用 xargs
命令来自动化这个过程。
例如,要跳过Akismet插件,你可以这样做:
wp --skip-plugins=akismet
对于所有活动插件,可以使用以下命令一次性测试所有插件:
wp plugin list --field=name --status=active --skip-plugins | xargs -n1 -I % sh -c 'echo "Testing: %"; wp --skip-plugins=% plugin get % --field=name'
这条命令的作用是列出所有处于活动状态的插件名称,并对每个插件执行带有 --skip-plugins
参数的WP-CLI命令。它会输出正在测试的插件名以及该插件的信息(如果命令成功)。如果某个插件引起了问题,对应的命令将会失败或者表现出异常行为。
通过这种方法,您可以有效地识别出哪个插件或主题与WP-CLI存在兼容性问题,并采取适当的措施解决这个问题,比如更新插件、切换到不同的主题,或是联系插件/主题开发者获取帮助。
WP-CLI更多操作
你也可以为WP-CLI注册自己的命令,但这不在本文介绍范围,请移步官方文档。
WebP 是一种由Google开发的图像格式,旨在提供更高效的图像压缩。它支持有损和无损压缩,并且可以显著减小文件大小,同时保持高质量的图像效果。
如果我们在建站初期上传了很多图片,那么要将他们全部手动转换成WebP是个很麻烦的过程,因此我们可以借助 Plus WebP or AVIF
插件(插件页面)来帮助我们转换。该插件的后台界面非常简单易用,但对于大量的图片处理,官方也推荐我们使用WP-CLI进行处理。
#安装 Plus WebP or AVIF 插件
wp plugin install plus-webp
#批量转换图片为WebP格式并将所有文章中的图片替换为新链接
wp pluswebpavif webp --quality=100 --replace=true --types=image/png,image/bmp,image/jpeg
##具体参数参考官方帮助文档
结语
通过本文的介绍,我们详细探讨了 WordPress 命令行工具(WP-CLI)的安装与使用方法。从安装前提到具体的操作步骤,再到常见操作的示例,我们希望为你提供了一个全面的指南,帮助你更好地管理和维护 WordPress 网站。
WP-CLI 作为一个强大的工具,不仅能够提升日常管理的效率,还能在网站故障排除时发挥关键作用。通过命令行界面,你可以快速执行各种操作,无需登录后台,大大节省了时间和精力。
在使用 WP-CLI 时,务必注意备份数据、管理权限、确保环境兼容性,并在正确的站点目录中执行命令。这些注意事项将帮助你避免常见的错误,确保操作的顺利进行。
如果你希望进一步学习和探索 WP-CLI 的更多功能,可以参考官方文档,或者与其他开发者和管理员交流经验。通过不断学习和实践,你将能够充分利用 WP-CLI 的强大功能,提升你的 WordPress 网站管理技能。
希望本文对你有所帮助,祝你在 WordPress 网站管理的道路上越走越远!
除非注明,否则均为天远日记原创文章,转载必须以链接形式标明本文链接
Comments NOTHING