WP-CLI erkennt keine kommerziellen Plugin-Updates

11

Ich stoße auf ein Problem, das ich noch nie zuvor gesehen habe, bei dem WP-CLI Plugin-Updates für kommerzielle Plugins nicht erkennt.

Die Plugin-Updates werden in meinem WordPress-Dashboard angezeigt, aber beim Ausführen werden ../wp-cli.phar plugin update --allsie nicht aktualisiert. Wenn ich es ausführe ../wp-cli.phar plugin list, werden keine Updates angezeigt.

Ich habe problemlos Updates über WP-CLI für dieselben kommerziellen Plugins auf anderen Servern ausgeführt. Das einzige, was auf diesem Server anders ist, ist, dass ich keinen sudoZugriff habe. Wie Sie sehen, rufe ich wp-cli.phardirekt statt über den wpBefehl an.

WP-CLI verarbeitet Plugin-Updates aus dem .org-Repository ohne Probleme bei dieser Installation.

NateWr
quelle
1
Hallo Nate, ich kann diesen Aufruf nicht wp-cli.phardirekt mit der Pro-Version von Advanced Custom Fields replizieren . Ein Update ist verfügbar und wird in der Ausgabe von wp-cli als verfügbar angezeigt. Mit welchen Plugins versuchst du das? Ist es möglich, dass sie dafür die normalen Routinen von WP umgehen und somit nicht von wp-cli erfasst werden?
Tim Malone
Danke für die Antwort Tim. Ich habe im Laufe der Monate festgestellt, dass es ziemlich sporadisch ist, aber es passiert meistens mit Plugins, die die Softwarelizenzierung von EDD verwenden, von denen ich glaube, dass sie die normalen Techniken von WP für Updates verwenden. Es ist überall passiert, wo ich WP-CLI verwendet habe (lokaler Entwickler, ein paar verschiedene Server).
NateWr
Hmm. Ich muss überprüfen, ob die kommerziellen Plugins, die ich habe, auch EDD verwenden. Haben Sie ein Problem mit wp-cli angemeldet?
Tim Malone
Nein, ich habe kein Problem angemeldet, weil es so sporadisch ist. Ich kann es nicht zuverlässig reproduzieren (ich habe mich gefragt, ob es ein Problem mit Transienten ist). Aber Daniel hat sich diese SE-Frage angesehen und gesagt, er habe nichts von einem Problem gehört und könne sich nichts vorstellen, was es verursachen würde.
NateWr
1
Nate Ich bin erst letzten Monat auf ein ähnliches Problem gestoßen. Nachdem ich mir ein paar Stunden am Kopf gekratzt hatte, stellte ich fest, dass mein Problem direkt mit einem DNS-Resolver-Problem auf dem Host zusammenhängt. Letztendlich hatte der Host beim Auflösen von DNS eine Zeitüberschreitung, sodass er nie eine Verbindung zur Quelle des Updates herstellen konnte, um die Überprüfung durchzuführen. Die sporadische Natur Ihres Problems lässt darauf schließen, dass Sie ein ähnliches Problem haben. Ich würde ein paar Minuten brauchen, um die DNS-Auflösung und ausgehende Verbindungen vom Host zu überprüfen.
Steve

Antworten:

1

Möglicherweise ist ein Problem auf Netzwerkebene aufgetreten, oder jemand hat die Download-Ressourcen vorübergehend entfernt. Zum Beispiel vor dem Update.

Die meisten Details können Sie dem Quellcode entnehmen https://github.com/wp-cli/wp-cli.

Die Plugin-Update-Funktion dort sieht folgendermaßen aus.

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 );
        }
    }

Und wenn Sie angeben wp plugin update --all, durchläuft es tatsächlich die parent::update_manyFunktion, bei der das übergeordnete Element tatsächlich eine CommandWithUpgradeKlasse ist.

Unterm Strich wp-cliwerden Ressourcen verwendet, die von Plugins wie diesen bereitgestellt werden:

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

Aber dort können Sie die Informationen sehen, die Sie nicht sehen sollten.

Randnotiz

Bitte beachten Sie, dass einige Premium-Plugins das Upgrade über WP-CLI nicht unterstützen. ZB weiß ich, dass BackupBuddy und Gravity Forms gut funktionieren, aber die Plugins von Yoast nicht. Dies kann sich ändern.

Prosti
quelle
1

Der Benutzer, der wp-cli ausführt, benötigt Schreibberechtigungen für wp-contentund Unterverzeichnisse. Wenn nur einige Plugins fehlschlagen, sind die Verzeichnisse dieser Plugins möglicherweise für diesen Benutzer schreibgeschützt.

Es gibt einen Fehler in wp cli, der keine fehlenden Dateiberechtigungen meldet und stattdessen meldet, dass das Plugin bereits aktualisiert wurde.

Die beschriebenen Symptome gelten für diese Situation, daher ist dies für einige eine Lösung.

Andy
quelle