トラブルシューティングガイド


GitHubGitHub GitHubは、gitリポジトリをオンラインで実装し、他の開発者が簡単に共有、コピー、変更できるウェブサイトです。パブリックリポジトリは無料でホスティングできますが、プライベートリポジトリには有料サブスクリプションが必要です。GitHubは「プルリクエスト」という概念を導入しました。これは、コントリビューターがブランチで行ったコード変更を、リポジトリの所有者がマージする前にレビューし、議論できる仕組みです。 https://github.com/リポジトリで新しい問題の報告を始める前に、ローカルのインストール環境を確認してください。一部の設定によって、WP-CLIWP-CLI WP-CLIは、WordPressのコマンドラインインターフェースであり、管理や開発のタスクをプログラムによって実行するために使用されます。プロジェクトページは http://wp-cli.org/ https://make.wordpress.org/cli/コマンドが予期しない結果になることがあります。

WP-CLIのインストールについて、より詳細な情報を得るにはどうすればよいですか?

WP-CLIにはwp --infoコマンドがあり、WP-CLIのインストール環境に関する多くの情報を提供します。出力には次の内容が表示されます。
* 使用しているオペレーティングシステムとシェル
* WP-CLIの実行に使用されるPHPPHP PHP(PHP: Hypertext Preprocessorの再帰的頭字語)は、広く使用されているオープンソースの汎用スクリプト言語で、特にウェブ開発に適しており、HTMLに埋め込むことができます。 https://www.php.net/manual/en/index.phpバイナリ
* 使用されているPHPのバージョン
* WP-CLIのルートディレクトリの場所
* WP-CLIのvendorディレクトリの場所
* 現在使用しているWP-CLIバイナリ(pharパス)
* WP-CLIパッケージの保存場所
* WP-CLIのグローバル設定ファイルおよびプロジェクト設定ファイルの場所
* 使用しているWP-CLIのバージョン

問題のデバッグを始める前に、何をすべきですか?

問題のデバッグを始める前に、最新バージョンのWP-CLIを使用していることを確認してください。使用している問題が、最新バージョンですでに解決されている可能性があります。wp cli updateコマンドを実行すると、WP-CLIのバージョンがアップグレードされるか、すでに最新バージョンを使用していることが確認されます。インストールが停止する場合は、外部接続用にSSLSSL Secure Socket Layer – サーバーからブラウザーへ、またその逆方向の暗号化。ブラウザーとサーバー間で送信している内容を第三者に見られるのを防ぎます。(ポート443)およびgit(ポート9418)を使用してGitHubに接続することが許可されていることを確認してください。

WP-CLIの出力が予想と異なる場合、何をすべきですか?

バグの調査を始める前に、WP-CLIのデフォルト動作を変更し得る要因と、それらが問題の原因であるかどうかを確認する方法を理解しておく必要があります。このデフォルト動作を変更する主なサブシステムは5つあります。環境変数、設定ファイル、WP-CLIパッケージ、wp-config.phpファイル、WordPressの拡張機能(プラグイン、テーマ、必須プラグイン、ドロップイン)です。

環境変数

WP-CLIを実行するには、作業環境の設定が前提条件となります。シェルコマンドenvを使用して、現在の環境設定を確認できます。

SSHSSH Secure SHell – パスワードに加えて、またはパスワードの代わりに、リモートシステムへ安全に接続するためのプロトコル。を使用してWP-CLIをリモートで実行する場合、リモートサーバーのパス上でwpコマンドにアクセスできる必要があります。WP-CLIの動作は、環境変数を使用して実行時に変更することもできます。

  • WP_CLI_CACHE_DIR – WP-CLIのファイルキャッシュを保存するディレクトリ。デフォルトは~/.wp-cli/cache/です。
  • WP_CLI_CONFIG_PATH – グローバルなconfig.ymlファイルへのパス。デフォルトは~/.wp-cli/config.ymlです。
  • WP_CLI_CUSTOM_SHELL – ユーザーが使用するデフォルトの/bin/bashシェルを上書きできるようにします。
  • WP_CLI_DISABLE_AUTO_CHECK_UPDATE – WP-CLIによる更新の自動チェックを無効にします。
  • WP_CLI_DOCKER_NO_TTY – 検出されたttyの状態を無視し、ssh経由でdockerコンテナに対してWP-CLIを実行する際にdocker execから--ttyフラグを削除します。
  • WP_CLI_DOCKER_NO_INTERACTIVE – 検出されたttyの状態を無視し、ssh経由でdockerコンテナに対してWP-CLIを実行する際にdocker execから--interactiveフラグを削除します。
  • WP_CLI_PACKAGES_DIR – WP-CLIのパッケージ管理を通じてインストールされたパッケージを保存するディレクトリ。デフォルトは~/.wp-cli/packages/です。
  • WP_CLI_PHP – システムのデフォルトを上書きする際に使用するPHPバイナリのパス(Phar以外のインストールでのみ機能します)。
  • WP_CLI_PHP_ARGS – WP-CLIを呼び出す際にPHPバイナリへ渡す引数(Phar以外のインストールでのみ機能します)。
  • WP_CLI_SSH_PRE_CMD--ssh=<ssh>を使用する際に、WP-CLIがリモートサーバー上でWP-CLIを呼び出す前にコマンドを実行します。
  • WP_CLI_SSH_BINARY--ssh=<ssh>を使用する際に、リモートマシン上でwpの代わりに呼び出されるコマンドです。
  • WP_CLI_STRICT_ARGS_MODE – コマンドの前にある引数をグローバル引数、コマンドの後にある引数をローカル引数として扱うようWP-CLIに指示し、曖昧さを避けます。
  • WP_CLI_SUPPRESS_GLOBAL_PARAMStrueに設定すると、ヘルプ画面の最後にグローバルパラメータを表示しません。これにより、上級ユーザー向けの画面領域を節約できます。
  • WP_CLI_FORCE_USER_LOGIN1に設定すると、--userフラグに指定された値をIDではなくログイン名として解釈し、型の曖昧さを回避します。
  • WP_CLI_EARLY_REQUIRE – 1つ以上のカスタムPHPファイル(カンマ区切り)をブートストラップ処理の早い段階で読み込みます。
  • WP_CLI_REQUIRE – 1つ以上のカスタムPHPファイル(カンマ区切り)をブートストラップ処理の後に読み込みます。これは、コマンドラインで--requireを指定した場合、またはwp-cli.yml設定ファイルでrequireマッピングを指定した場合と同じ効果があります。
  • WP_CLI_USER_AGENT – 一部のプラグインやツールが依存する$_SERVER['HTTP_USER_AGENT']値を設定します。

環境変数を必要に応じて設定するには、実行したいWP-CLIコマンドの前に環境変数の定義を置きます(例:EDITOR=vim wp post edit 1)。環境変数を上書きするには、~/.bashrcまたは~.zhsrcexport VARIABLE=valueを使用します。

WP-CLI設定ファイル

設定ファイルを使用すると、個人のニーズやプロジェクトの要件に合わせてWP-CLIの動作をカスタマイズできます。設定ファイルが正しくない場合や、デフォルト動作に望ましくない変更が含まれている場合、WP-CLIの出力にはそのエラーが反映される可能性が高くなります。

プロジェクト設定ファイルは、グローバル設定ファイルの設定を上書きできることに注意してください。

設定ファイルを名前変更または削除して結果を比較し、設定が問題の原因になった可能性があるかどうかを確認してください。

WP-CLIパッケージ

WP-CLIパッケージは、コミュニティによって保守されているWP-CLI上に構築されたプロジェクトです。WP-CLIコマンドを含むこともあれば、何らかの形でWP-CLIを拡張するだけの場合もあります。WP-CLIが正常に動作していても、エラーのあるパッケージが予期しない結果を引き起こすことがあります。インストール済みのすべてのパッケージの読み込みをスキップするには、wp --skip-packagesを使用します。

WordPress設定ファイル(wp-config.php

wp-config.phpをWP-CLIがサポートする範囲を超えて移動または編集すると、エラーが発生する場合があります。構文エラーが発生した場合は、wp-config.phpのファイルエンコーディング(BOMなしのUTF-8)を確認してください。

require_once(ABSPATH . 'wp-settings.php');という行がwp-config.phpファイルに残っていることを確認し、定数の定義以外の変更をwp-config.phpに加えないでください。wp-config.php内でWordPressの関数を呼び出すと、PHPは致命的なエラーで失敗します。

wp-config.php$_SERVER['HTTP_HOST']を使用する場合は、WP-CLIコンテキストでデフォルト値を設定する必要があります。

if ( defined( 'WP_CLI' ) && WP_CLI && ! isset( $_SERVER['HTTP_HOST'] ) ) {
    $_SERVER['HTTP_HOST'] = `example.com';
}

$_SERVER['document_root']の代わりに、dirname( __FILE__ )または同様のものを使用してください。

WordPress拡張機能

WordPressのテーマやプラグインは、WP-CLIの読み込み処理と競合したり、ユーザーをリダイレクトするなどして干渉したりすることがあります。これらは、現在のリクエストのホスト名を使用するなど、WP-CLIのコンテキストでは成立しない前提を置いていることがよくあります(コマンドラインのコンテキストには現在のリクエストという概念が存在しません)。

個別のプラグインやテーマ(例:--skip-plugins=akismet)を回避したり、完全にスキップしたりできます(wp --skip-plugins --skip-themes)。

WP-CLIがエラーを報告した場合、何をすべきですか?

一般的な問題は、wp-config.phpまたはウェブサーバー設定の変更によって発生します。ハンドブックの「一般的な問題」セクションには、最も一般的なエラーメッセージとその対処方法が一覧されています。

デフォルトテーマ(Twenty …)を使用し、プラグインをインストールしていないWordPressの新規インストールで問題を再現してみてください。問題がカスタム環境でのみ再現する場合、その問題はWP-CLIではなく環境のバグです。また、wp-config.phpで定数define( 'WP_DEBUG', true );を設定し、WordPressのデバッグモードを有効にしてください。これにより、WP-CLIが原因ではない、既存のWordPressインストールの問題が明らかになる場合があります。

さらに、WP-CLIのグローバルパラメータ--debugを使用すると、すべてのPHPエラーを表示し、WP-CLIのブートストラップに詳細な情報を追加できます。

上記をすべて確認しましたが、まだ問題があります。どこに問題を報告できますか?

バグを見つけたと思われる場合は、修正に役立てるため、ぜひお知らせください。

WP-CLIのバグ報告はGitHubで受け付けています。新しい問題を作成する前に、既存の問題を検索して、すでに解決策が存在しないか確認してください。バグについて未解決または修正済みの問題がない場合は、バグ報告の提出ガイドラインに従ってください。問題の概要、再現手順、環境の詳細、以下に示すその他の具体的な情報を提供することで、完全なバグ報告を確実に提出でき、迅速な対応につながります。

次の情報を提供してください。
* 問題の概要を説明する文章、
* 問題を再現するための詳細かつ具体的な手順の一覧、
* 作業している環境の詳細、
* バグが使用状況にどのような影響を与えるかの説明(期待される結果と実際の結果の比較を含む)、重大度レベル、
* 考えられる回避策、および
* クラッシュレポート、スタックトレース、デバッグ出力などの関連する診断情報。

問題報告のこれらの詳細については、バグ報告の提出ガイドラインで詳しい説明を確認できます。