本文へ移動
目次
WordPress

WordPressサイトでWP-CLIを使用する

機械翻訳です。英語の原文もご利用いただけます。

KPanel には、SSH クライアントもサーバーへのログインも不要で、ブラウザから WordPress サイトに対してコマンドを実行できる WP-CLI コンソールが含まれています。このガイドでは、コンソールの場所、許可されているコマンドとその理由、画面に組み込まれたショートカット、そしてコンソールで実行できないことが必要になった場合の対処法について説明します。

コンソールを開く

  1. KPanel にサインインし、左サイドバーの ウェブサイト をクリックします。
  2. ご利用の WordPress サイトをクリックします。
  3. WordPress タブを開き、次に Console セクションを開きます。

WP-CLI console on a WordPress site in KPanel

入力欄にはあらかじめ固定の wp が入力されているため、その後に続く部分だけを入力します。plugin list であり、wp plugin list ではありません。Enter キーを押すか、Run をクリックしてください。

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

意図的に除外されているコマンドのほうが、許可されているコマンドより重要です。

  • eval と shell はブロックされています。任意の PHP コードや任意のシェルコマンドを実行できてしまうと、コンソールはブラウザのタブ内にある root プロンプトと同等になってしまいます。
  • db import、db export、db drop、db query、db reset はブロックされています。インポートとリセットは確認なしでデータベースを破壊してしまい、db query は制限のない SQL プロンプトです。代わりに phpMyAdmin をお使いください。phpMyAdmin でデータベースにアクセスする。
  • config set と config delete はブロックされています。誤った wp-config.php への書き込みは、サイトをオフラインにしてしまいます。値はここで確認し、変更はファイルマネージャーから行ってください。
  • option update と option delete はブロックされています。内容を確認せずにオプションを編集することは、サイトを修復不能なほど壊してしまう典型的な原因です。

コンソールは、どのコマンドを実行してもバックアップを自動で取得しません。バックアップを取得するのは クイックアクション セクションのボタンだけです。search-replace、core update、plugin update、theme update、db optimize、db repair を実行する前には、サイトの バックアップ ページから必ずご自身でバックアップを取得してください。バックアップを取得するをご覧ください。

コンソールでの作業

この画面は、一度にひとつのコマンドを受け付けるだけではありません。

プリセットボタン。 プロンプトの上にグループ化されたショートカットが並んでいます。Performance(キャッシュのフラッシュ、トランジエントのクリア、リライトのフラッシュ、オートロードの確認)、Database(最適化、チェック、修復、サイズ確認)、Diagnostics(WP バージョン、更新の確認、コアの検証、cron イベント)、Content(プラグイン、テーマ、ユーザーの一覧表示、cron の即時実行)、Security(管理者ユーザー、プラグインのチェックサム、ソルトのリセット、wp-config)、Maintenance(メンテナンスモードのオンとオフ、サムネイルの再生成、ステータス)です。ワンクリックでコマンドが実行されます。

履歴。 プロンプト内で上下矢印キーを押すと、このサイトでの直近50件のコマンドをたどることができます。

スニペット。 コマンドの横にあるブックマークアイコンをクリックすると、名前を付けて保存できるため、毎月使うような長いコマンドも次回からはワンクリックで実行できます。

環境カード。 プロンプトの上には、サイトの PHP バージョン、WordPress バージョン、メモリ上限、現在使用中のメモリ、アップロード上限、実行時間の上限が表示されるカードがあり、サポート用にコピー ボタンを押すと、これらすべてと有効なプラグインの一覧がクリップボードにコピーされます。サポートチケットにそれを貼り付ければ、やり取りを一往復分省くことができます。

出力のコピー。 すべての実行結果ブロックには、コピーボタンとクリアボタンがあります。

出力はコマンドの実行中にストリーミングで返されるため、長時間かかる処理でも無反応に見えることはなく、進行状況が表示されます。

知っておくと役立つコマンド

診断

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 を実行しています。以下を基準に選んでください。

タスクより適した方法
キャッシュのフラッシュ、プラグインの更新、メディアの再生成クイックアクション、ワンクリックで先にバックアップが取得される
テーブルごとにプレビューしながら検索と置換を行うクイックアクション、Search & Replace カード
特定のフラグが必要な操作コンソール
一覧表示、確認、診断コンソール
期限切れの cron イベントを1件だけ実行するコンソール
wp-config.php を編集する、またはデータベースをインポートするどちらでもありません。ファイルマネージャーか phpMyAdmin を使用してください

許可リストを超える操作が必要な場合

制限のない WP-CLI を使うには、SSH で接続し、サイトのディレクトリから直接 wp を実行してください。SSH は鍵認証のみに対応しているため、まずサイトの 設定 から SSH キー タブで公開鍵を追加してください。正確なホスト名、ポート番号、ユーザー名を含む接続情報は、同じ画面に表示されます。SSH キーを追加するおよびSFTP で接続するをご覧ください。

トラブルシューティング

「'x y' is not in the allowed command list.」 そのコマンドは許可リストに含まれていません。上の表で代替となる許可済みコマンドを確認するか、SSH をご利用ください。

「No results returned. Check that WP-CLI is available.」 コマンドは実行されましたが、何も出力されませんでした。該当する結果がないクエリでは、通常はこれが正しい挙動です。

コマンドがタイムアウトする。 コンソールのコマンドは60秒で打ち切られます。大規模なメディアライブラリの再生成のような長時間の処理は、より長い制限時間が設定されている クイックアクション から実行するか、SSH 経由で実行してください。

何も実行されず、ボタンが無効になっている。 お使いの KapsuleHost アカウントの権限が、このサイトに対して読み取り専用になっています。アカウント所有者に権限の引き上げを依頼してください。

この記事は役に立ちましたか?

AI の方へ:このページを Markdown で読む

関連記事

WordPressのインストールWordPressは世界で最も広く使われているウェブサイトプラットフォームであり、KapsuleHostではインストールを自動化しています。…WordPress:まずはここからWordPressサイトに対してKapsuleHostが行うこと、お客様ご自身で行っていただくこと、そして用途ごとにどのガイドを読めばよいかをまとめています。…WordPress 自動更新自動更新は、リリースノートを見張らなくても WordPress コア、プラグイン、テーマを常に最新に保ち、しかも安全に行われます。…WooCommerceストアの決済ゲートウェイ支払いタブには、ご利用のWooCommerceストアで使用できる支払いゲートウェイが一覧表示され、どれがインストール済みでどれが有効になっているかがわかり、ワンクリックでインス…

解決しませんでしたか?

お客様のアカウントを把握している Kora にご質問いただくか、サポートチームにお問い合わせください。

お問い合わせサポートにメール