WP-CLIが商用プラグインの更新を認識しない


11

WP-CLIが商用プラグインのプラグイン更新を認識しないという、以前に遭遇したことがない問題に遭遇しています。

プラグインの更新がWordPressダッシュボードに表示されますが、実行../wp-cli.phar plugin update --allしても更新されません。実行../wp-cli.phar plugin listしても、更新があると表示されません。

他のサーバーで同じ商用プラグインのWP-CLIを使用して更新を問題なく実行しました。このサーバーでの唯一の違いは、sudoアクセス権がないことです。そのため、ご覧wp-cli.pharのとおり、wpコマンドではなく直接呼び出しています。

WP-CLIは、このインストールで問題なく.orgリポジトリからのプラグイン更新を処理しています。


1
こんにちはネイト、私はこの呼び出しwp-cli.pharをプロバージョンのアドバンスドカスタムフィールドで直接複製することはできません。更新が利用可能で、wp-cliの出力に利用可能と表示されます。これをどのプラグインで試していますか?彼らがこれのためにWPの通常のルーチンをバイパスしているために、wp-cliによってピックアップされていない可能性はありますか?
Tim Malone

返信Timをありがとう。数カ月でかなり散発的であることがわかりましたが、EDDのソフトウェアライセンスを使用するプラグインで発生する傾向があります。これは、WPの通常の更新技術を使用していると思います。それは私がWP-CLIを使用したすべての場所で起こりました(ローカル開発、いくつかの異なるサーバー)。
NateWr 2016

うーん。私が持っている商用プラグインもEDDを使用しているかどうかを確認する必要があります。wp-cliで問題を記録しましたか?
Tim Malone

いいえ、散発的であるため、問題を記録していません。私はそれを確実に再現することはできません(それが過渡現象の問題かどうか疑問に思いました)。しかし、ダニエルはこのSEの質問を見て、問題について聞いたことはなく、それを引き起こすものは何も考えられないと述べました。
NateWr 2016

1
先月だけ似たような問題に遭遇しました。数時間頭を悩ませた後、私の問題はホストのDNSリゾルバーの問題に直接関連していることがわかりました。最終的に、ホストはDNSの解決中にタイムアウトになり、更新のソースに接続してチェックを実行することができませんでした。問題の散発的な性質は、同様の問題があることを示唆しています。ホストからのDNS解決と送信接続を確認するのに数分かかります。
Steve

回答:


1

ネットワークレベルの問題か、ダウンロードリソースが一時的に削除された可能性があります。たとえば、更新前。

あなたがソースコードから得ることができる詳細のほとんどhttps://github.com/wp-cli/wp-cli

そこにあるプラグイン更新機能はこんな感じ。

function update( $args, $assoc_args ) {
        if ( isset( $assoc_args['version'] ) ) {
            foreach ( $this->fetcher->get_many( $args ) as $plugin ) {
                $assoc_args['force'] = 1;
                $this->install( array( $plugin->name ), $assoc_args );
            }
        } else {
            parent::update_many( $args, $assoc_args );
        }
    }

そして、あなたがwp plugin update --allそれを指定するとき、それは実際にparent::update_many関数を通過し ます、そこで、親は実際にCommandWithUpgradeクラスです。

結論として、次のwp-cliようなプラグインによって提供されるリソースを使用します。

# Install from a remote zip file
wp plugin install http://s3.amazonaws.com/bucketname/my-plugin.zip?AWSAccessKeyId=123&Expires=456&Signature=abcdef

しかし、そこには、見るべきではない情報を見ることができます。

サイドノート

一部のプレミアムプラグインは、WP-CLIによるアップグレードをサポートしていないことに注意してください。たとえば、BackupBuddyとGravity Formsは正常に機能しますが、Yoastのプラグインは機能しません。これは変更される場合があります。


1

wp-cliを実行するユーザーにはwp-content、サブディレクトリへの書き込み権限が必要です。一部のプラグインのみが失敗した場合、これらのプラグインのディレクトリはそのユーザーに対して読み取り専用である可能性があります。

wp cliにはバグがあり、不足しているファイル権限は報告されず、代わりにプラグインがすでに更新されていることが報告されます。

説明されている症状はその状況に当てはまるため、これが一部のソリューションになります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.