在虚拟主机上通过命令行使用WP-CLI管理WordPress完整步骤

本文专门聚焦在DirectAdmin共享主机上使用WP-CLI时最容易出错的环节,这与在拥有完整root权限的VPS上使用有所不同——包括申请SSH权限、常见的权限错误,以及通过cron定时自动执行WP-CLI命令。(如需查看涵盖所有分类的完整命令参考,请阅读我们的WP-CLI完整指南。)

什么是WP-CLI?

WP-CLI(WordPress Command Line Interface)是官方提供的WordPress命令行管理工具,可替代在后台面板中逐项点击操作。其功能涵盖安装、更新、插件/主题管理,直至数据库操作,非常适合需要重复执行或同时管理多个网站的任务,效率远高于逐个点击菜单。

为什么共享主机与VPS的使用方式不同

在VPS上,用户拥有完整的root权限,可以自由地全局安装WP-CLI,运行命令也不受限制。但在DirectAdmin等共享主机上,用户仅拥有自己账户主目录(Home Directory)范围内的权限,因此需要注意一些额外事项:WP-CLI必须安装在个人文件夹中,而非系统全局路径;部分主机通过disable_functions禁用了WP-CLI可能需要用到的某些PHP函数;此外,PHP CLI的内存限制往往与DirectAdmin中为网站设置的内存限制是分开的。

在DirectAdmin主机上申请SSH权限

出于安全考虑,大多数共享主机默认关闭SSH访问权限,使用WP-CLI前需先申请开通:

  1. 联系主机服务商的客服团队,说明希望为您的账户开通SSH访问权限
  2. 开通后,您将获得主机名(Hostname)、端口号(部分共享主机出于安全考虑不使用默认的22端口)、用户名及密码或SSH密钥
  3. 在终端使用ssh [email protected] -p PORT命令连接,Windows用户也可使用PuTTY软件
  4. 运行pwd命令确认连接成功,应能看到您账户的主目录路径

AsiaGB虚拟主机允许客户通过工单系统申请SSH访问权限,团队将在工作时间内审核并开通。

无需root权限安装WP-CLI

由于您没有像在VPS上那样使用sudo mv将文件放入/usr/local/bin的权限,因此需要将WP-CLI安装在个人文件夹中:

  1. 创建一个用于存放可执行文件的文件夹,例如mkdir -p ~/bin
  2. 使用curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar下载文件
  3. 用chmod +x wp-cli.phar赋予可执行权限,然后移动到个人文件夹:mv wp-cli.phar ~/bin/wp
  4. 在~/.bashrc或~/.bash_profile文件中添加export PATH="$HOME/bin:$PATH",将个人文件夹加入Shell的PATH路径
  5. 运行source ~/.bashrc,然后用wp --version测试是否安装成功

部分主机可能已在系统中预装了WP-CLI,建议先运行wp --version检查,如果已存在,则可跳过整个安装步骤。

解决常见权限错误

主机日常工作中最常用的命令

在共享主机上进行日常工作时,反复用到的命令其实并不多:

在DirectAdmin上通过Cron定时自动运行WP-CLI

拥有SSH权限后,可以通过DirectAdmin中的Cron Jobs菜单设置计划任务,让WP-CLI命令按计划自动运行,例如每周更新一次插件:

0 3 * * 1 cd /home/username/domains/yourdomain.com/public_html && /home/username/bin/wp plugin update --all --quiet

务必在Cron命令中使用网站文件夹和wp可执行文件的完整路径,因为Cron任务不会像交互式SSH登录那样加载.bashrc中配置的PATH。

小贴士:在运行会改变数据的命令(如search-replace或core update)之前,务必先用JetBackup或DirectAdmin标准备份功能备份数据库。尽管WP-CLI快速便捷,但它会立即生效,不像后台面板那样有二次确认步骤。

是不是所有共享主机都支持WP-CLI?

并非所有主机都支持,这取决于服务商是否开放SSH访问权限。AsiaGB虚拟主机允许客户通过工单系统申请SSH访问权限;而部分其他主机出于安全考虑可能完全不开放。使用前请先向服务商确认。

没有SSH权限可以使用WP-CLI吗?

不能直接使用,因为WP-CLI只能在终端中运行。如果没有SSH访问权限,需要照常通过后台面板管理网站,或请主机服务商先为您开通SSH。

为什么运行wp命令时提示Permission Denied?

这通常是因为SSH登录的用户与文件所有者不一致,或安装的wp文件缺少可执行权限。可用ls -la检查,并在需要时用chmod +x赋予可执行权限。

wp-cli.phar和wp有什么区别?

两者是同一个文件——wp-cli.phar是下载下来的原始文件名,wp则是移动到PATH文件夹后重命名的简短名称,方便输入命令,功能上没有任何区别。

设置的WP-CLI定时任务不生效,应该先检查什么?

请确认Cron命令中使用的是wp可执行文件和网站文件夹的完整路径,而不是依赖PATH变量,因为Cron任务不会像交互式SSH登录那样加载.bashrc中的配置。

WP-CLI在正式运营的网站上使用安全吗?

安全,它是WordPress官方团队提供的正式工具。不过由于命令会立即生效,不像后台面板那样有二次确认步骤,因此在运行任何会更改数据的命令(尤其是search-replace和core update)之前,务必先备份数据库。

随时可开通SSH以支持WP-CLI的虚拟主机

AsiaGB DirectAdmin虚拟主机通过工单系统开通SSH访问权限,支持开发者使用WP-CLI、Composer和Git部署。

查看主机方案

查看泰国虚拟主机全部套餐 →