WordPress

WP-CLI を使用して WordPress サイトを管理する

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…

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

コンソールを開く

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

KPanel の WordPress サイトの WP-CLI コンソール

入力フィールドは既に固定の wp で始まっているため、その後ろに続く部分だけを入力します。plugin list であって、wp plugin list ではありません。Enter キーを押すか、Run をクリックします。

Console はマネージドプランに表示されるセクションの 1 つです。その他のプランでは、タブストリップの最後に +8 on Managed リンクが表示されます。ここで説明する生のコマンド以外のすべてのアクションは、KPanel の他の場所に相当するボタンがあるため、何も手の届かないものはありません。コンソールは同じエンジンに到達するための高速な方法です。

コマンドはサイト独自のシステムユーザーとしてサイトのディレクトリ内で実行されます。他のサイトを見たり、触れたりすることはできません。

コンソールが実行できるもの、できないもの

コンソールは許可リストを使用しています。下記のコマンドプレフィックスのみが受け入れられ、その他はサーバーに到達する前に拒否されます。拒否されたコマンドを示すメッセージが表示されます。

領域許可されているもの
Corecore version, core check-update, core update, core is-installed, core verify-checksums
Pluginsplugin list, plugin update, plugin install, plugin activate, plugin deactivate, plugin status, plugin get, plugin delete, plugin verify-checksums
Themestheme list, theme update, theme install, theme activate, theme status, theme get, theme delete
Usersuser list, user get, user create, user update, user set-role, user delete, user reset-password, user add-cap, user remove-cap, user generate
Databasedb size, db tables, db optimize, db repair, db check
Cache and transientscache flush, cache get, cache set, cache add, cache delete, transient get, transient set, transient delete
Rewrite rulesrewrite flush, rewrite list, rewrite structure
Croncron event list, cron event run, cron schedule list
Configconfig get, config list, config has, config shuffle-salts
Maintenance modemaintenance-mode activate, maintenance-mode deactivate, maintenance-mode status
Read only inspectionoption get, option list, post list, post get, comment list, comment get
Media and languagemedia regenerate, language core install, language core update
Search and replacesearch-replace

意図的な除外は包含よりも重要です:

  • eval and shell はブロックされています。任意の PHP と任意のシェルはコンソールをブラウザタブのルートプロンプトと同等にしてしまいます。
  • db import, db export, db drop, db query and db reset はブロックされています。インポートとリセットはデータベースを確認ステップなしで破棄します。db query は制限されていない SQL プロンプトです。代わりに phpMyAdmin を使用してください: Accessing Your Database With phpMyAdmin.
  • config set and config delete はブロックされています。不正な wp-config.php 書き込みはサイトをオフラインにします。ここで値を読んで、ファイルマネージャーを通じて変更します。
  • option update and option delete はブロックされています。ブラインド状態でオプションを編集することは、サイトを回復不可能に破損させる一般的な方法です。

コンソールはどのコマンドでもバックアップを取得しません。Quick Actions セクションのボタンのみがそれを行います。search-replace, core update, plugin update, theme update, db optimize or db repair の前に、サイトの Backups タブから自分でバックアップを取得してください。Taking a Backup を参照してください。

コンソールで作業する

画面は一度に 1 つのコマンドを受け入れるだけではありません。

プリセットボタン。 グループ化されたショートカットはプロンプトの上に配置されます: Performance (キャッシュをフラッシュ、トランジェントをクリア、リライトをフラッシュ、自動読み込みをチェック)、Database (最適化、チェック、修復、サイズ)、Diagnostics (WordPress バージョン、更新をチェック、コアを検証、cron イベント)、Content (プラグイン、テーマ、ユーザーをリスト、cron を今すぐ実行)、Security (管理ユーザー、プラグインチェックサム、salt をリセット、wp-config) および Maintenance (メンテナンスモードのオン/オフ、サムネイルを再生成、ステータス)。1 回のクリックでコマンドが実行されます。

履歴。 プロンプトで上下矢印キーを押して、このサイトの最後の 50 コマンドを移動します。

スニペット。 コマンドの横にあるブックマークアイコンをクリックして、名前を付けて保存します。毎月使用する長い呼び出しは次回は 1 クリックです。

環境カード。 プロンプトの上のカードにはサイトの 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 がすべての単一リクエストで読み込むすべてのオプションをリストします。肥大化した自動読み込みテーブルは、目に見える理由のないサイトが遅い最も一般的な原因の 1 つです。

ハウスキーピング

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'

ここで入力されたものはすべてアカウントのアクティビティログに記録されます。パスワードを含みます。サインインした後、この方法で設定したパスワードを変更してください。アカウント回復の詳細は Resetting a Lost WordPress Admin Password にあります。

検索と置換

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

常に最初にドライ実行してください。生の SQL 置換が WordPress データベースを破損する理由を含む完全なチュートリアルは Running a Search and Replace にあります。

コンソールか Quick Actions か?

どちらも下の同じ WP-CLI を実行します。この基準に基づいて選択してください:

タスクより良いルート
キャッシュをフラッシュ、プラグインを更新、メディアを再生成Quick Actions、ワンクリックで最初にバックアップします
テーブルごとのプレビューを使用した検索と置換Quick Actions、Search & Replace カード
特定のフラグが必要な何かConsole
リスト、検査、診断Console
期限を過ぎた 1 つの cron イベントを実行Console
wp-config.php を編集するか、データベースをインポートどちらでもありません。ファイルマネージャーまたは phpMyAdmin を使用してください

許可リストより多いものが必要な場合

制限されていない WP-CLI の場合は、SSH で接続し、サイトのディレクトリから wp を直接実行します。SSH はキー認証のみを使用するため、最初にサイトの FilesSSH Keys タブから公開キーを追加してください。接続の詳細 (正確なホスト、ポート、ユーザー名を含む) は同じ画面に表示されます。Adding SSH Keys および Connecting Over SFTP を参照してください。

トラブルシューティング

"'x y' is not in the allowed command list." コマンドは許可リストにありません。上の表で最も近い許可された同等のものをチェックするか、SSH を使用してください。

"No results returned. Check that WP-CLI is available." コマンドは実行されましたが、何も出力されませんでした。通常は一致するものがないクエリの場合の正しい動作です。

コマンドがタイムアウトします。 コンソールコマンドは 60 秒にキャップされています。メディアライブラリの再生成などの長い操作は、より長い制限を使用する Quick Actions から、または SSH で実行する必要があります。

何も実行されず、ボタンが無効です。 Kapsule アカウントのロールはこのサイトに対して読み取り専用です。アカウント所有者に昇格を依頼してください。

それでもお困りですか?

こちらまでメールでお問い合わせください support@kapsulehost.com またはKPanelでチャットを開いてください。

KPanel を開く
WP-CLI を使用して WordPress サイトを管理する