WordPress

在您的 WordPress 网站上使用 WP-CLI

KPanel includes a WP-CLI console that runs commands against your WordPress site from the browser, with no SSH client and no server login. This guide covers where to find it, exactly which commands…

在 WordPress 站点上使用 WP-CLI

KPanel 包含一个 WP-CLI 控制台,可以从浏览器对你的 WordPress 站点运行命令,无需 SSH 客户端和服务器登录。本指南涵盖在哪里找到它、允许使用哪些命令及原因、屏幕内置的快捷方式,以及当你需要控制台无法运行的功能时该怎么办。

打开控制台

  1. 登录 KPanel 并在左侧边栏中点击网站
  2. 点击你的 WordPress 站点。
  3. 打开 WordPress 标签页,然后打开 Console 部分。

KPanel 中 WordPress 站点上的 WP-CLI 控制台

输入框已经以固定的 wp 开头,所以你只需输入后面的内容。plugin list,不是 wp plugin list。按 Enter 或点击运行

Console 是托管计划上出现的部分之一。在其他计划上,标签栏末尾以 +8 on Managed 链接结尾。此处描述的不是原始命令的每个操作都在 KPanel 的其他地方有对应的按钮,所以没有什么是无法到达的:控制台只是到达同一引擎的更快方式。

命令以你站点自己的系统用户身份在你站点的目录内运行。它们无法看到或触及任何其他站点。

控制台允许和不允许运行的内容

控制台使用允许列表。只有下面的命令前缀被接受,其他任何内容在到达服务器之前都会被拒绝,并显示拒绝了哪个命令的消息。

区域允许的
核心core version, core check-update, core update, core is-installed, core verify-checksums
插件plugin list, plugin update, plugin install, plugin activate, plugin deactivate, plugin status, plugin get, plugin delete, plugin verify-checksums
主题theme list, theme update, theme install, theme activate, theme status, theme get, theme delete
用户user list, user get, user create, user update, user set-role, user delete, user reset-password, user add-cap, user remove-cap, user generate
数据库db size, db tables, db optimize, db repair, db check
缓存和临时数据cache flush, cache get, cache set, cache add, cache delete, transient get, transient set, transient delete
重写规则rewrite flush, rewrite list, rewrite structure
Croncron event list, cron event run, cron schedule list
配置config get, config list, config has, config shuffle-salts
维护模式maintenance-mode activate, maintenance-mode deactivate, maintenance-mode status
只读检查option get, option list, post list, post get, comment list, comment get
媒体和语言media regenerate, language core install, language core update
搜索和替换search-replace

有意的排除比包含更重要:

  • evalshell 被阻止。任意 PHP 和任意 shell 会使控制台等同于浏览器标签中的 root 提示符。
  • db importdb exportdb dropdb querydb reset 被阻止。导入和重置会在没有确认步骤的情况下销毁数据库;db query 是无限制的 SQL 提示符。改用 phpMyAdmin:使用 phpMyAdmin 访问你的数据库
  • config setconfig delete 被阻止。不好的 wp-config.php 写入会导致站点离线。在此读取值,通过文件管理器更改它们。
  • option updateoption delete 被阻止。盲目编辑选项是破坏站点的常见方式,无法恢复。

控制台在任何命令上都不会为你备份。只有 Quick Actions 部分上的按钮会这样做。在 search-replacecore updateplugin updatetheme updatedb optimizedb repair 之前,从站点的 Backups 标签自己备份。见创建备份

在控制台中工作

该屏幕可以做的远不止接受一次命令。

预设按钮。 分组快捷方式位于提示符上方:性能(清空缓存、清除临时数据、刷新重写、自动加载检查)、数据库(优化、检查、修复、大小)、诊断(WP 版本、检查更新、验证核心、cron 事件)、内容(列出插件、主题、用户、运行 cron)、安全性(管理员用户、插件校验和、重置 salts、wp-config)和维护(打开和关闭维护模式、重新生成缩略图、状态)。一次点击运行命令。

历史记录。 在提示符中按上下箭头键可在此站点上的最后 50 个命令中移动。

代码片段。 点击命令旁边的书签图标将其保存为名称,这样你每个月使用的冗长调用下次就是一次点击。

环境卡。 在提示符上方,卡片显示站点的 PHP 版本、WordPress 版本、内存限制、当前使用的内存、最大上传和执行时间限制,带有 Copy for support 按钮,将所有这些加上你的活跃插件列表放在剪贴板上。粘贴到支持工单中,你就节省了一个往返。

复制输出。 每个结果块都有复制和清除按钮。

输出流在命令运行时返回,所以一个长操作显示进度而不是静默坐着。

值得了解的命令

诊断

core version
core verify-checksums
plugin verify-checksums --all
plugin list --status=active --format=table
db size --tables
option list --autoload=yes

verify-checksums 将你的核心和插件文件与官方发布的副本进行比较,并报告任何修改。这是对你怀疑被篡改的站点的最快初步检查。

option list --autoload=yes 列出 WordPress 在每个单一请求上加载的每个选项。膨胀的自动加载表是站点速度缓慢但没有明显原因的最常见原因之一。

日常维护

cache flush
transient delete --all
rewrite flush
db optimize
cron event list
cron event run --due-now

用户

user list --role=administrator --format=table
user create jo jo@example.com --role=editor
user update 4 --user_pass='a-long-unique-password'

这里输入的任何内容都会被记录在你账户的活动日志中,包括密码。使用这种方式设置的密码在你登录后要更改一次。完整的账户恢复详情见重置丢失的 WordPress 管理员密码

搜索和替换

search-replace 'http://old-domain.co.nz' 'https://old-domain.co.nz' --all-tables --dry-run

始终先做空运行。完整的演练,包括为什么原始 SQL 替换会破坏 WordPress 数据库,见运行搜索和替换

控制台还是 Quick Actions?

两者都在下面运行相同的 WP-CLI。根据以下基础进行选择:

任务更好的方式
清空缓存、更新插件、重新生成媒体Quick Actions,一次点击并先备份
按表进行搜索和替换预览Quick Actions,搜索和替换卡
需要特定标志的任何内容控制台
列出、检查、诊断控制台
运行一个逾期的 cron 事件控制台
编辑 wp-config.php 或导入数据库两者都不。使用文件管理器或 phpMyAdmin

当你需要超出允许列表的功能时

要获得无限制的 WP-CLI,通过 SSH 连接并从你站点的目录直接运行 wp。SSH 仅使用密钥认证,所以先从站点的 Files 然后 SSH Keys 标签页添加你的公钥。连接详情(包括确切的主机、端口和用户名)显示在同一屏幕上。见添加 SSH 密钥通过 SFTP 连接

故障排除

"'x y' 不在允许的命令列表中。" 该命令不在允许列表上。检查上面的表以获得最接近的许可等效项,或使用 SSH。

"未返回结果。检查 WP-CLI 是否可用。" 命令运行但未打印任何内容。通常是与无匹配项的查询的正确行为。

命令超时。 控制台命令上限为 60 秒。长操作,例如重新生成大型媒体库,应从 Quick Actions 运行(使用更长的限制),或通过 SSH。

没有任何东西运行,按钮被禁用。 你的 Kapsule 账户角色对此站点是只读的。请求账户所有者提升它。

仍需帮助?

请发送邮件至 support@kapsulehost.com 或在 KPanel 中打开聊天。

打开 KPanel
在您的 WordPress 网站上使用 WP-CLI